文章目录
- 1:SpringBoot版本选择
- git地址:
- 如何选择版本
- 官网推荐必须用2.x以后的版本
- 2:SpirngCloud版本选择
- git地址:
- springcloud官网
- springcloud和springboot版本对照
- spirngcloud和springboot最终选择
- 3:SpringCloudAlibab版本选择
- 4:查看 Spring-Cloud-Alibaba版本 对应的其组件(Sentinel、Nacos等)版本,注意:一定要对应,不然会出现一些不兼容问题
- 5:mybatis与spring整合版本对应关系参考
- 6:mysql版本选择
- 7:Druid:druid-spring-boot-starter版本
1:SpringBoot版本选择
git地址:
https://github.com/spring-projects/spring-boot/releases/
如何选择版本
通过查看springboot的官方地址,截止2022年9月,最新版是2.7.3,那我们就要使用这个版本吗?非也,接下来我们还需要看springcloud的对应版本来选择springboot版本
官网推荐必须用2.x以后的版本
https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-2.0-Release-Notes
点击网址,我们可以看到官方已经强烈建议升级到2.x了;所以我们也不要为了稳定,再去选择1.x的版本
2:SpirngCloud版本选择
git地址:
https://github.com/spring-projects/spring-cloud
可以看到springcloud已经不再github上维护了,要去官网查看
springcloud官网
https://spring.io/projects/spring-cloud
我们可以看到截止2022年9月springcloud最新稳定版本(GA-(GenerallyAvailable),表示稳定版本)为2021.0.3
注:解释下为什么springcloud版本还有字母
SpringCloud的版本关系 Spring Cloud 采用了英国伦敦地铁站的名称来命名,并由地铁站名称字母A-Z依次类推的形式来发布迭代版本SpringCloud是一个由许多子项目组成的综合项目,各子项目有不同的发布节奏。为了管理SpringCloud与各子项目的版本依赖关系,发布了一个清单,其中包括了某个SpringCloud版本对应的子项目版本。为了避免SpringCloud版本号与子项目版本号混淆,SpringCloud版本采用了名称而非版本号的命名,这些版本的名字采用了伦敦地铁站的名字,根据字母表的顺序来对应版本时间顺序。例如Angel是第一个版本, Brixton是第二个版本。当SpringCloud的发布内容积累到临界点或者一个重大BUG被解决后,会发布一个”service releases”版本,简称SRX版本,比如Greenwich.SR2就是SpringCloud发布的Greenwich版本的第2个SRX版本。
但是目前看来springcloud从H版后又改成了日期为准的版本
springcloud和springboot版本对照
通过官网我们可以看到springcloud和springboot之间的版本对应关系
当然了spirng官网也给我们了官方接口,直接返回版本对照结果:https://start.spring.io/actuator/info
返回的结果用json格式化一下:
spirngcloud和springboot最终选择
有的朋友就说了,boot最新版本是2.7.3,cloud最新版本是2021.0.3,那是不是就这样选就可以了,
No,最新的不一定就是最好的,我们还可以从网上上找到更合适的:
点击查看版本文档:
可以看到spirngcloud2021.0.3,官方最推荐的版本是spirngboot2.6.8
所以我们按照官方推荐就可以啦
3:SpringCloudAlibab版本选择
我们已经选择好了springcloud和boot的版本,如果我们要加入springcloudalibab框架,也要重新考虑alibab框架的版本号,不过好在alibaba是阿里开源的,api也是中文的,非常容易看懂
访问地址:https://github.com/alibaba/spring-cloud-alibaba/wiki/版本说明
如我们上边所说,springcloud从H版本后就更改了版本命名方式,所以spirngcloudAlibab也跟着更改了方式,可以说是非常的贴心;给阿里比个心,最起码这是我看过最明白的版本说明了,起码是中文的;
4:查看 Spring-Cloud-Alibaba版本 对应的其组件(Sentinel、Nacos等)版本,注意:一定要对应,不然会出现一些不兼容问题
之前我们说过spring从来不是重复造轮子,他是把各个技术融合在一个大的生态环境中,所以我们也要查看springcloudAlibab其他组件的版本号,以免后续开发中出现不兼容问题
访问地址:https://github.com/alibaba/spring-cloud-alibaba/wiki/版本说明
5:mybatis与spring整合版本对应关系参考
mybatis官方参照表:http://mybatis.org/spring/
mybatis中文官网:https://mybatis.org/mybatis-3/zh/
点击官方参照表:
我们可以根据JDK版本选择,选用需要的 mybatis-spring-boot-starter 版本或 mybatis 版本
也可以打开mybatis对应maven对应版本: https://mvnrepository.com/artifact/org.mybatis.spring.boot/mybatis-spring-boot-starter
进行mybatis-spring-boot-starter 版本选择
6:mysql版本选择
官方文档地址是:https://dev.mysql.com/doc/index-connectors.html
当然了,mysql-connector-java的版本选择还是要跟着mysql数据库服务的版本走,最起码到2022年,mysql5.7还没过时;
如果你的mysql是8.x版本(最新版本),并且是用springboot父项目整合就不需要再单独再管,因为他包含了
<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency>
7:Druid:druid-spring-boot-starter版本
maven:https://mvnrepository.com/artifact/com.alibaba/druid-spring-boot-starter
从maven文档中选择一份合适的新一点的版本号就行
因为druid-spring-boot-starter只是在druid基础上进行了一次封装,专门用来整合spring-boot项目;
如果springboot项目想使用druid也是可以的,但是需要手动编写配置类并注入到bean中,并加载对应的配置参数;但是不建议,明明有现成封装好的jar,就直接使用就好了!!!
所以我们直接引入druid-spring-boot-starter而不是单纯的druid
<dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.2.8</version> </dependency> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>1.2.8</version> </dependency>