前言
Spring Cloud 是一个基于 Spring Boot 的微服务框架,用于构建和治理分布式系统的各个组件。它提供了一套残缺的解决方案,包含服务注册与发现、配置管理、负载平衡、熔断器、音讯总线、数据流等性能。
SpringCloud2023 为以后 Spring Cloud 的最新版本迭代,基于 Spring6 和 Springboot3 当前的版本研发。因而开发抉择 SpringCloud 的版本也就对应的抉择了 Springboot 和 Spring 的版本。
版本依赖关系
SpringCoud 版本抉择 | Springboot 版本抉择 |
---|---|
2023.0.x aka Leyton | 3.2.x |
2022.0.x aka Kilburn | 3.0.x, 3.1.x (Starting with 2022.0.3) |
2021.0.x aka Jubilee | 2.6.x, 2.7.x (Starting with 2021.0.3) |
2020.0.x aka Ilford | 2.4.x, 2.5.x (Starting with 2020.0.3) |
Hoxton | 2.2.x, 2.3.x (Starting with SR5) |
Greenwich | 2.1.x |
Finchley | 2.0.x |
Edgware | 1.5.x |
Dalston | 1.5.x |
其中 Spring Cloud Dalston, Edgware, Finchley, 和 Greenwich 曾经 EOF,完结反对了。
最新版本是 2023(cloud L 系列),除了 springboot 版本要求 3.2 以外,其它的生态软件还暂未迭代到对应的版本,比方 cloud alibaba 还是 2022 的版本。然而出于 Spring boot 的良好兼容性,通过版本的批改验证还是能够间接应用。原理是统一的。
引入 BOM
SpringCloud2022 实战基于 Spring Cloud K 系列版本。
在根工程治理 pom.xml 或者 gradle.setting 中应用 bom 治理依赖。
maven 的引入形式:
<properties>
<spring-cloud.version>2022.0.1</spring-cloud.version>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring-cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
gradle 的引入形式:
plugins {
id 'java'
id 'org.springframework.boot' version '3.0.5'
id 'io.spring.dependency-management' version '1.1.0'
}
ext {set('springCloudVersion', "2022.0.1")
}
dependencyManagement {
imports {mavenBom "org.springframework.cloud:spring-cloud-dependencies:${springCloudVersion}"
}
}
接下来在启动工程中就能够应用各种 cloud 的 starter 来引入云服务个性了。上面以 Netflix 的引入为例阐明。
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-config</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
<!-- ... -->
</dependencies>
dependencies {
implementation 'org.springframework.cloud:spring-cloud-starter-config'
implementation 'org.springframework.cloud:spring-cloud-starter-netflix-eureka-client'
//...
}
对于作者
来自一线全栈程序员 nine 的八年摸索与实际,继续迭代中。欢送关注“雨林寻北”或增加集体卫星 codetrend(备注技术)。