前言
Spring Cloud是一个基于Spring Boot的微服务框架,用于构建和管理分布式系统的各个组件。它提供了一套完整的解决方案,包括服务注册与发现、配置管理、负载均衡、熔断器、消息总线、数据流等功能。
SpringCloud2023为当前Spring Cloud的最新版本迭代,基于Spring6和Springboot3以后的版本研发。因此开发选择SpringCloud的版本也就对应的选择了Springboot和Spring的版本。
版本依赖关系
SpringCoud版本选择Springboot版本选择2023.0.x aka Leyton3.2.x2022.0.x aka Kilburn3.0.x, 3.1.x (Starting with 2022.0.3)2021.0.x aka Jubilee2.6.x, 2.7.x (Starting with 2021.0.3)2020.0.x aka Ilford2.4.x, 2.5.x (Starting with 2020.0.3)Hoxton2.2.x, 2.3.x (Starting with SR5)Greenwich2.1.xFinchley2.0.xEdgware1.5.xDalston1.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(备注技术)。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |