文
章
目
录
章
目
录
我们在学习一套框架时,对框架的版本选择尤为重要,尤其是在许多框架组件需要组合的情况下,如果出现某个组件版本不兼容,那可能是灾难性的,因此,我们需要在正式学习SpringCloud前,做好相关版本选择。
提示:可直接拉到文章最后看定稿版本
1、版本总览:
由于我们主要用到SpringBoot
、Spring Cloud
以及Spring Cloud Alibaba
我们访问如下王者查看他们的对应关系:点击查看版本对应关系
(截至2021.3.22如图:)
2、Spring Cloud版本
我们先打开Spring Cloud
官网:点此查看官网
我们选择H版,也是目前市场上目前比较流行的版本,更具体的我们可以点进去,目前已经更新到了Hoxton.SR10
,但我们选择Hoxton.SR8
版本,其中更多组件版本如图:
提示:
SpringBoot的版本号是通过数字来命名的,SpringCloud则是通过希腊英文字母的方式,在发布的版本时是以伦敦地铁站作为版本命名,并按地铁站名称的首字母A-Z依次命名。
SpringBoot的版本号是通过数字来命名的,SpringCloud则是通过希腊英文字母的方式,在发布的版本时是以伦敦地铁站作为版本命名,并按地铁站名称的首字母A-Z依次命名。
3、SpringBoot版本
我们先打开SpringBoot
官网:点此查看官网我们发现SpringBoot已经更新到了2.4.4
了,但我们选择了2.3.2.RELEASE
版本
4、版本对应关系查询小技巧
版本对应关系查询另外一个小技巧就是访问如下网址:版本对应关系查询,会返回一串json,我们复制,找个json格式化网站去格式化后,发现目前的版本对应关系如下:
{ "git": { "branch": "100993521962b2a36eebcca56205ca0345bfecf5", "commit": { "id": "1009935", "time": "2021-03-19T13:15:52Z" } }, "build": { "version": "0.0.1-SNAPSHOT", "artifact": "start-site", "versions": { "spring-boot": "2.4.4", "initializr": "0.11.0-SNAPSHOT" }, "name": "start.spring.io website", "time": "2021-03-19T13:18:08.098Z", "group": "io.spring.start" }, "bom-ranges": { "azure": { "2.2.4": "Spring Boot >=2.2.0.RELEASE and <2.3.0.M1", "3.2.0": "Spring Boot >=2.3.0.M1 and <2.4.0-M1" }, "codecentric-spring-boot-admin": { "2.2.4": "Spring Boot >=2.2.0.RELEASE and <2.3.0.M1", "2.3.1": "Spring Boot >=2.3.0.M1 and <2.5.0-M1" }, "solace-spring-boot": { "1.0.0": "Spring Boot >=2.2.0.RELEASE and <2.3.0.M1", "1.1.0": "Spring Boot >=2.3.0.M1 and <2.5.0-M1" }, "solace-spring-cloud": { "1.0.0": "Spring Boot >=2.2.0.RELEASE and <2.3.0.M1", "1.1.1": "Spring Boot >=2.3.0.M1 and <2.4.0-M1", "2.0.0": "Spring Boot >=2.4.0.M1 and <2.5.0-M1" }, "spring-cloud": { "Hoxton.SR10": "Spring Boot >=2.2.0.RELEASE and <2.3.10.BUILD-SNAPSHOT", "Hoxton.BUILD-SNAPSHOT": "Spring Boot >=2.3.10.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.0", "2020.0.2": "Spring Boot >=2.4.1 and <2.5.0-M1", "2020.0.3-SNAPSHOT": "Spring Boot >=2.4.5-SNAPSHOT" }, "spring-cloud-alibaba": { "2.2.1.RELEASE": "Spring Boot >=2.2.0.RELEASE and <2.3.0.M1" }, "spring-cloud-gcp": { "2.0.0": "Spring Boot >=2.4.0-M1 and <2.5.0-M1" }, "spring-cloud-services": { "2.2.6.RELEASE": "Spring Boot >=2.2.0.RELEASE and <2.3.0.RELEASE", "2.3.0.RELEASE": "Spring Boot >=2.3.0.RELEASE and <2.4.0-M1", "2.4.1": "Spring Boot >=2.4.0-M1 and <2.5.0-M1" }, "spring-geode": { "1.2.12.RELEASE": "Spring Boot >=2.2.0.RELEASE and <2.3.0.M1", "1.3.9.RELEASE": "Spring Boot >=2.3.0.M1 and <2.4.0-M1", "1.4.3": "Spring Boot >=2.4.0-M1 and <2.5.0-M1", "1.5.0-M2": "Spring Boot >=2.5.0-M1" }, "vaadin": { "14.4.10": "Spring Boot >=2.1.0.RELEASE and <2.5.0-M1" }, "wavefront": { "2.0.2": "Spring Boot >=2.1.0.RELEASE and <2.4.0-M1", "2.1.0": "Spring Boot >=2.4.0-M1" } }, "dependency-ranges": { "native": { "0.9.0": "Spring Boot >=2.4.3 and <2.4.4-SNAPSHOT", "0.9.1-SNAPSHOT": "Spring Boot >=2.4.4-SNAPSHOT and <2.5.0-M1" }, "okta": { "1.4.0": "Spring Boot >=2.2.0.RELEASE and <2.4.0-M1", "1.5.1": "Spring Boot >=2.4.0-M1 and <2.4.1", "2.0.1": "Spring Boot >=2.4.1 and <2.5.0-M1" }, "mybatis": { "2.1.4": "Spring Boot >=2.1.0.RELEASE and <2.5.0-M1" }, "camel": { "3.3.0": "Spring Boot >=2.2.0.RELEASE and <2.3.0.M1", "3.5.0": "Spring Boot >=2.3.0.M1 and <2.4.0-M1", "3.8.0": "Spring Boot >=2.4.0.M1 and <2.5.0-M1" }, "open-service-broker": { "3.1.1.RELEASE": "Spring Boot >=2.2.0.RELEASE and <2.3.0.M1", "3.2.0": "Spring Boot >=2.3.0.M1 and <2.4.0-M1", "3.3.0": "Spring Boot >=2.4.0-M1 and <2.5.0-M1" } } }
5、最终版本定稿
框架/工具 | 版本 |
Spring Boot | 2.3.2.RELEASE |
Spring Cloud | Hoxton.SR8 |
Spring Cloud Alibaba | 2.2.5.RELEASE |
JDK | 1.8 |
Maven | 3.5及以上 |
Mysql | mysql 8 |
Intellij IDEA | 2019.2 |
附:常用组件父项目pom
依赖如下:
<!--spring boot 2.3.2.RELEASE--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-dependencies</artifactId> <version>2.3.2.RELEASE</version> <type>pom</type> <scope>import</scope> </dependency> <!--spring cloud Hoxton.SR8--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>Hoxton.SR8</version> <type>pom</type> <scope>import</scope> </dependency> <!--spring cloud alibaba 2.2.5.RELEASE--> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-alibaba-dependencies</artifactId> <version>2.2.5.RELEASE</version> <type>pom</type> <scope>import</scope> </dependency>
注意:该配置置于
dependencyManagement
的dependencies
中,约定统一版本,让子项目继承如果你没有IDEA
可参考:
Intellij IDEA下载安装步骤及永久破解的图文教程
Intellij IDEA开发工具使用起来非常方便,功能也极其强大,尤其是在使用SpringBoot做开发时, […]
如果你不会整合Maven
请参考:
IntelliJ IDEA如何整合Maven图文教程详解
现在很多Java项目都是基于SpringBoot开发的,而SpringBoot项目基本都是基于Maven创建的 […]
如果你不是mysql8
可参考:
MySQL8.0.20 Zip压缩版安装图文教程详解
MySQL数据库一般有两种安装方式,一种是MSI文件双击运行按步骤安装,和安装普通exe文件没什么区别,还有一 […]
注意:务必需要和潘老师的版本保持一致(IDEA除外),否则可能会出现意料之外的错误哦~
附:组件停更说明: