SpringCloud02-SpringCloud和SpringBoot的版本选择
本次的**SpringCloud第二季(2020年)**分为上半场和下半场, 上半场:SpringBoot2.x版和SpringCloud H版, 下半场:SpringCloud Alibaba
1、SpringBoot的版本选择 SpringBoot的官网地址:https://spring.io/projects/spring-boot SpringBoot的git源码地址:https:github.com/spring-projects/spring-boot/releases/
可以看到最新的稳定版是2.2.6(当前时间是2020/04/19),课程录制的时候,最新版本还是2.2.4。
那么我们为啥要选择2.x版本,而不是使用1.x版本呢,因为2.0是一次比较重大的升级,并且是稳定的版本,可以在这里查看SpringBoot2.0的升级记录: https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-2.0-Release-Notes
大致意思是,建议升级到SpringBoot的2.0版本,因为这是Spring Boot的一个主要版本,因此升级现有的应用程序比通常要复杂一些。如果您当前使用的是早期版本的Spring Boot,我们强烈建议您在迁移到Spring Boot 2.0之前升级到Spring Boot 1.5。我们提供了一个专门的迁移指南,帮助您升级现有的SpringBoot1.5应用程序。
我只是为了学习,为了保证环境正常,所以跟周阳老师一样,选择的SpringBoot的版本是2.2,至于为什么是2.2,就要看接下来SpringCloud的版本选择了。
2、SpringCloud的版本选择 2.1 SpringCloud的官网版本查看
SpringCloud的官网地址:https://spring.io/projects/spring-cloud#learn SpringCloud的git源码地址:https://github.com/spring-projects/spring-cloud/wiki
当SpringCloud的发布内容积累到临界点或一个重大BUG被解决之后,会发布一个“service releases” 版本,简称SRX 版本,X表示的是数字,比如:Hoxton SR1就是Hoxton版本的第一个SRX 版本。
从官网可以查看最新发布的稳定版本是:
课程讲授的时候,SpringCloud的最新版本是Hoxton SR1。为了保持环境一致,所以我也使用的是SR1.
2.2 SpringCloud和SpringBoot的版本对应关系 查看版本对应的关系:https://spring.io/projects/spring-cloud#overview
可以看到,Hoxton对应的SpringBoot的版本是2.2,那么到底选择的是哪个SpringBoot的具体版本呢?
查看更详细的版本对应关系:https://start.spring.io/actuator/info,建议用火狐浏览器访问,因为返回的是json数据,火狐浏览器可以格式化:
SpringCloud是Hoxton。SR3,那么SpringBoot的版本就必须大于2.2.0.M,小于2.3.0.BUILD_SNAPSHOT。这里看到的跟周阳老师那个时候看到的有差异,为了环境一致,所以我使用的也是Hoxton.SR1。这里只是为了记录以后如何去进行版本的选择,可以参考官网。
2.3 SpringBoot为何选择的是2.2.2 至于SpringBoot为何选择是的2.2.2,因为同时用boot和cloud,需要由cloud决定boot版本 https://cloud.spring.io/spring-cloud-static/Hoxton.SR1/reference/html/spring-cloud.html 从这里可以看到,Hoxton SR1推荐的SpringBoot的版本是2.2.2:
3、本次课程的pom文件固定的几个 已经确定了版本选择,所以我们在引入对应的依赖的时候,就可以指定版本了,pom文件中经常要使用的是:
<dependencies> <!--springboot 2.2.2--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-dependencies</artifactId> <version>Hoxton.SR1</version> <type>pom</type> <scope>import</scope> </dependency> <!--Spring cloud Hoxton.SR1--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>2.2.2.RELEASE</version> <type>pom</type> <scope>import</scope> </dependency> <!--Spring cloud alibaba 2.1.0.RELEASE--> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-alibaba-dependencies</artifactId> <version>2.1.0.RELEASE</version> <type>pom</type> <scope>import</scope> </dependency>总结版本:
本次课程的讲解是尚硅谷的周阳老师,如有需要请购买正版书籍或网上到尚硅谷官网进行学习。