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

本文介绍了SpringCloud2023的最新版本特点,强调了其与SpringBoot3.2及后续版本的兼容性,并详细讲解了如何通过BOM管理依赖,以及如何在项目中引入Netflix等云服务组件。
摘要由CSDN通过智能技术生成

前言

Spring Cloud是一个基于Spring Boot的微服务框架,用于构建和管理分布式系统的各个组件。它提供了一套完整的解决方案,包括服务注册与发现、配置管理、负载均衡、熔断器、消息总线、数据流等功能。

SpringCloud2023为当前Spring Cloud的最新版本迭代,基于Spring6和Springboot3以后的版本研发。因此开发选择SpringCloud的版本也就对应的选择了Springboot和Spring的版本。

版本依赖关系

SpringCoud版本选择Springboot版本选择
2023.0.x aka Leyton3.2.x
2022.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.x
Finchley2.0.x
Edgware1.5.x
Dalston1.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(备注技术)。

  • 7
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值