文章目录

  • 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>