如何正确选择Spring Boot与Spring Cloud的版本以及对应关系


💨 作者:laker,因为喜欢LOL滴神faker,又是NBA湖人队🏀(laker)粉丝儿(主要是老詹的粉丝儿),本人又姓,故取笔名:laker
❤️喜欢分享自己工作中遇到的问题和解决方案以及一些读书笔记和心得分享
🌰本人创建了微信公众号【Java大厂面试官】,用于和大家交流分享
🏰 个人微信【lakernote】,加作者备注下暗号:cv之道


背景

现在项目开发,技术选型基本上都是Spring Boot、Spring Cloud一统天下了,今天我们来看下如何正确选择版本,以及版本兼容性问题。

1. 新项目使用Spring Boot、Spring Cloud

最简单的入门方法是访问start.spring.io,选择您的Spring Boot版本和要使用的Spring Cloud项目。生成项目时,这会将相应的Spring Cloud BOM版本添加到Maven / Gradle文件中。

2. 将Spring Cloud添加到现有的Spring Boot应用程序

如果您现有的Spring Boot应用程序想要将Spring Cloud添加到该应用程序,则第一步是确定应使用的Spring Cloud版本。您在应用中使用的版本将取决于您使用的Spring Boot的版本。

一. 新项目使用Spring Boot、Spring Cloud

1. 使用start.spring.io网站构建

直接使用 https://start.spring.io/网站构建
在这里插入图片描述
选择合适的版本以及需要依赖的组件等。可以选择[GENERATE CTRL + ⏎]生成下载项目或者[EXPLORE CTRL + SPACE]预览pom.xml等文件。
在这里插入图片描述

2. 使用idea的Spring Initializr构建

原理跟从https://start.spring.io/网站构建一样。
在这里插入图片描述
在这里插入图片描述

二. 将Spring Cloud添加到现有的Spring Boot应用程序

Maven厂库版本列表,仅能看下所有的版本,但是没有详细的介绍

版本号介绍
在这里插入图片描述

  • Alpha:不建议使用,主要是以实现软件功能为主,通常只在软件开发者内部交流,Bug较多;
  • Beta:该版本相对于α版已有了很大的改进,消除了严重的错误,但还是存在着一些缺陷,需要经过多次测试来进一步消除;
  • GA:General Availability,正式版本,官方推荐使用此版本,在国外都是用GA来说明release版本;
  • M:又叫里程碑版本,表示该版本较之前版本有功能上的重大更新;
  • PRE(不建议使用):预览版,内部测试版,主要是给开发人员和测试人员测试和找BUG用的;
  • Release:最终版本,Release不会以单词形式出现在软件封面上,取而代之的是符号®;
  • RC:该版本已经相当成熟了,基本上不存在导致错误的BUG,与即将发行的正式版相差无几;
  • SNAPSHOT:快照版,可以稳定使用,且仍在继续改进版本。

1. Spring Boot版本介绍

官网链接:https://spring.io/projects/spring-boot#learn
在这里插入图片描述
Spring Boot的版本以数字表示。例如:Spring Boot 2.2.5.RELEASE --> 主版本.次版本.增量版本(Bug修复)

2. Spring Cloud版本介绍

官网链接:https://spring.io/projects/spring-cloud#learn
在这里插入图片描述
Spring Cloud是一个项目总括,里面包含了很多的子项目,避免子项目之间的混淆,因此命名方式采用英文名字的方式来命名,SpringCloud采用了 英国伦敦地铁站 的名称来命名,并由地铁站名称首字母 A-Z 一次类推的形式来发布迭代版本。例如 Angel 是第一个版本,Brixton 是第二个版本…。
另外,当SpringCloud的发布内容积累到临界点或者一个重大BUG被解决后,会发布一个“service releases” 版本,简称 SRX 版本,比如当前的 Hoxton SR6,就是SpringCloud发布的Hoxton版本的第6个SRX版本。

3. Spring Boot 与Spring Cloud版本兼容

下表概述了哪个版本的Spring Cloud映射到哪个版本的Spring Boot。
来源https://spring.io/projects/spring-cloud#overview

大版本映射关系

Release TrainBoot Version
2020.0.x aka Ilford2.4.x
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均已达到使用寿命终止状态,不再受支持。

这里列出了大版本上的选择,如果想看小版本上的选择可以访问官方提供的网址查看,会返回一个JSON数组。

官方链接:https://start.spring.io/actuator/info
在这里插入图片描述

Spring CloudSpring Boot
Finchley.M2“Spring Boot >=2.0.0.M3 and <2.0.0.M5”
Finchley.M3“Spring Boot >=2.0.0.M5 and <=2.0.0.M5”
Finchley.M4“Spring Boot >=2.0.0.M6 and <=2.0.0.M6”
Finchley.M5“Spring Boot >=2.0.0.M7 and <=2.0.0.M7”
Finchley.M6“Spring Boot >=2.0.0.RC1 and <=2.0.0.RC1”
Finchley.M7“Spring Boot >=2.0.0.RC2 and <=2.0.0.RC2”
Finchley.M9“Spring Boot >=2.0.0.RELEASE and <=2.0.0.RELEASE”
Finchley.RC1“Spring Boot >=2.0.1.RELEASE and <2.0.2.RELEASE”
Finchley.RC2“Spring Boot >=2.0.2.RELEASE and <2.0.3.RELEASE”
Finchley.SR4“Spring Boot >=2.0.3.RELEASE and <2.0.999.BUILD-SNAPSHOT”
Finchley.BUILD-SNAPSHOT“Spring Boot >=2.0.999.BUILD-SNAPSHOT and <2.1.0.M3”
Greenwich.M1“Spring Boot >=2.1.0.M3 and <2.1.0.RELEASE”
Greenwich.SR6“Spring Boot >=2.1.0.RELEASE and <2.1.999.BUILD-SNAPSHOT”
Greenwich.BUILD-SNAPSHOT“Spring Boot >=2.1.999.BUILD-SNAPSHOT and <2.2.0.M4”
Hoxton.SR9“Spring Boot >=2.2.0.M4 and <2.3.8.BUILD-SNAPSHOT”
Hoxton.BUILD-SNAPSHOT“Spring Boot >=2.3.8.BUILD-SNAPSHOT and <2.4.0.M1”
2020.0.0-M3“Spring Boot >=2.4.0.M1 and <=2.4.0.M1”
2020.0.0-M4“Spring Boot >=2.4.0.M2 and <=2.4.0-M3”
2020.0.0“Spring Boot >=2.4.0.M4 and <2.4.2-SNAPSHOT”
2020.0.1-SNAPSHOT“Spring Boot >=2.4.2-SNAPSHOT”

历史版本以及发行说明详细


QQ群【837324215
关注我的公众号【Java大厂面试官】,回复:架构资源等关键词(更多关键词,关注后注意提示信息)获取更多免费资料。

公众号也会持续输出高质量文章,和大家共同进步。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lakernote

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值