SpringCloud和SpringBoot的版本依赖该怎么选择

打印 上一主题 下一主题

主题 879|帖子 879|积分 2637

前言

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的引入方式:
  1. <properties>
  2.     <spring-cloud.version>2022.0.1</spring-cloud.version>
  3. </properties>
  4. <dependencyManagement>
  5.     <dependencies>
  6.         <dependency>
  7.             <groupId>org.springframework.cloud</groupId>
  8.             <artifactId>spring-cloud-dependencies</artifactId>
  9.             <version>${spring-cloud.version}</version>
  10.             <type>pom</type>
  11.             <scope>import</scope>
  12.         </dependency>
  13.     </dependencies>
  14. </dependencyManagement>
复制代码
gradle的引入方式:
  1. plugins {
  2.   id 'java'
  3.   id 'org.springframework.boot' version '3.0.5'
  4.   id 'io.spring.dependency-management' version '1.1.0'
  5. }
  6. ext {
  7.   set('springCloudVersion', "2022.0.1")
  8. }
  9. dependencyManagement {
  10.   imports {
  11.     mavenBom "org.springframework.cloud:spring-cloud-dependencies:${springCloudVersion}"
  12.   }
  13. }
复制代码
接下来在启动工程中就可以使用各种cloud的starter来引入云服务特性了。下面以Netflix的引入为例说明。
  1. <dependencies>
  2.     <dependency>
  3.         <groupId>org.springframework.cloud</groupId>
  4.         <artifactId>spring-cloud-starter-config</artifactId>
  5.     </dependency>
  6.     <dependency>
  7.         <groupId>org.springframework.cloud</groupId>
  8.         <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
  9.     </dependency>
  10.    
  11. </dependencies>
复制代码
  1. dependencies {
  2.   implementation 'org.springframework.cloud:spring-cloud-starter-config'
  3.   implementation 'org.springframework.cloud:spring-cloud-starter-netflix-eureka-client'
  4.   //...
  5. }
复制代码
关于作者

来自一线全栈程序员nine的八年探索与实践,持续迭代中。欢迎关注“雨林寻北”或添加个人卫星codetrend(备注技术)。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

半亩花草

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表