当前位置: 首页 > news >正文

SpringBoot、SpringCloud、SpringCloudAlibab对应版本选择

文章目录

  • 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父项目整合就不需要再单独再管,因为他包含了


        <!-- Mysql Connector -->
        <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

		<!--Druid-->
		<!--可以不配这个因为druid-spring-boot-starter里面已经有了,随便带着一下这个依赖,代码可读性高一点,反正对其他啥也没影响-->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.2.8</version>
        </dependency>

        <!--    Druid Spring Boot 组件-->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid-spring-boot-starter</artifactId>
            <version>1.2.8</version>
        </dependency>

相关文章:

  • 【DevPress】V2.2.1版本发布,增加专栏内容管理
  • VirtualLab专题实验教程-1.超表面纳米柱及其相位分析
  • 基本if选择结构以及random
  • goland远程调试k8s上容器
  • Spring IoC、容器初始化、对象
  • java中的集合框架基础-5
  • Python连接Mongodb数据库-PyMongo模块
  • 三、OO三大特性
  • SpringBoot导出Jar包并测试(使用IDEA)
  • 用Windows性能监视器测试分析网站运行状况
  • 3.【异步通信框架】RabbitMQ
  • C++学习(四八七)android studio println的输出位置
  • PCL 生成空间圆点云
  • [JS真好玩] 掘金创作者必备: 监控每天是谁取关了你?
  • Nginx服务之Rewrite
  • 【刷算法】从上往下打印二叉树
  • 2017-09-12 前端日报
  • ES6核心特性
  • HTTP传输编码增加了传输量,只为解决这一个问题 | 实用 HTTP
  • JavaScript类型识别
  • Java多线程(4):使用线程池执行定时任务
  • Java小白进阶笔记(3)-初级面向对象
  • maven工程打包jar以及java jar命令的classpath使用
  • react-native 安卓真机环境搭建
  • Redis 中的布隆过滤器
  • Spring声明式事务管理之一:五大属性分析
  • SQL 难点解决:记录的引用
  • swift基础之_对象 实例方法 对象方法。
  • TypeScript实现数据结构(一)栈,队列,链表
  • 初探 Vue 生命周期和钩子函数
  • 构建二叉树进行数值数组的去重及优化
  • 使用 Xcode 的 Target 区分开发和生产环境
  • 数据可视化之 Sankey 桑基图的实现
  • 责任链模式的两种实现
  • 看到一个关于网页设计的文章分享过来!大家看看!
  • elasticsearch-head插件安装
  • ​​​​​​​​​​​​​​Γ函数
  • ​Python 3 新特性:类型注解
  • #我与Java虚拟机的故事#连载16:打开Java世界大门的钥匙
  • (17)Hive ——MR任务的map与reduce个数由什么决定?
  • (LeetCode C++)盛最多水的容器
  • (Redis使用系列) Springboot 使用redis实现接口Api限流 十
  • (附源码)php新闻发布平台 毕业设计 141646
  • (附源码)ssm教师工作量核算统计系统 毕业设计 162307
  • (附源码)计算机毕业设计高校学生选课系统
  • (学习日记)2024.04.04:UCOSIII第三十二节:计数信号量实验
  • (转)IIS6 ASP 0251超过响应缓冲区限制错误的解决方法
  • .[hudsonL@cock.li].mkp勒索病毒数据怎么处理|数据解密恢复
  • .helper勒索病毒的最新威胁:如何恢复您的数据?
  • .net core webapi 部署iis_一键部署VS插件:让.NET开发者更幸福
  • .NET Core 网络数据采集 -- 使用AngleSharp做html解析
  • .NET Micro Framework初体验
  • .NET实现之(自动更新)
  • .Net下使用 Geb.Video.FFMPEG 操作视频文件
  • ?.的用法