SpringBoot和SpringCloud版本对应

简介: SpringBoot和SpringCloud版本对应

官网版本对应地址:https://start.spring.io/actuator/info

SpringCloud版本 SpringBoot版本
2022.0.0-M2 Spring Boot >=3.0.0-M2 and < 3.1.0-M1
2022.0.0-M1 Spring Boot >=3.0.0-M1 and < 3.0.0-M2
2021.0.3 Spring Boot >=2.6.1 and < 3.0.0-M1
2021.0.0-RC1 Spring Boot >=2.6.0-RC1 and <2.6.1
2021.0.0-M3 Spring Boot >=2.6.0-M3 and <2.6.0-RC1
2021.0.0-M1 Spring Boot >=2.6.0-M1 and <2.6.0-M3
2020.0.5 Spring Boot >=2.4.0.M1 and <2.6.0-M1
Hoxton.SR12 Spring Boot >=2.2.0.RELEASE and <2.4.0.M1
Hoxton.BUILD-SNAPSHOT Spring Boot >=2.2.0.BUILD-SNAPSHOT
Hoxton.M2 Spring Boot >=2.2.0.M4 and <=2.2.0.M5
Greenwich.BUILD-SNAPSHO Spring Boot >=2.1.9.BUILD-SNAPSHOT and <2.2.0.M4
Greenwich.SR2 Spring Boot >=2.1.0.RELEASE and <2.1.9.BUILD-SNAPSHOT
Greenwich.M1 Spring Boot >=2.1.0.M3 and <2.1.0.RELEASE
Finchley.BUILD-SNAPSHOT Spring Boot >=2.0.999.BUILD-SNAPSHOT and <2.1.0.M3
Finchley.SR4 Spring Boot >=2.0.3.RELEASE and <2.0.999.BUILD-SNAPSHOT
Finchley.RC2 Spring Boot >=2.0.2.RELEASE and <2.0.3.RELEASE
Finchley.RC1 Spring Boot >=2.0.1.RELEASE and <2.0.2.RELEASE
Finchley.M9 Spring Boot >=2.0.0.RELEASE and <=2.0.0.RELEASE
Finchley.M7 Spring Boot >=2.0.0.RC2 and <=2.0.0.RC2
Finchley.M6 Spring Boot >=2.0.0.RC1 and <=2.0.0.RC1
Finchley.M5 Spring Boot >=2.0.0.M7 and <=2.0.0.M7
Finchley.M4 Spring Boot >=2.0.0.M6 and <=2.0.0.M6
Finchley.M3 Spring Boot >=2.0.0.M5 and <=2.0.0.M5
Finchley.M2 Spring Boot >=2.0.0.M3 and <2.0.0.M5

☆博主在使用的版本★:

  1. Jdk: 1.8
  2. Spring Boot : 2.3.9.RELEASE
  3. Spring Cloud: Hoxton SR12
  4. Spring Cloud AliBaBa: 2.2.5.RELEASE

三、Spring boot最新追踪

正式版本即将在2022 年11月Spring Boot 3.0正式发布,它将基于Spring Framework 6.0,并且需要 Java 17 或更高版本,同时它也将是Jakarta EE 9的第一个Spring Boot版本。留给开发者的时间不多了,那么我们如何过渡到Spring Boot 3.0,今天告诉大家一些方法,以便于将来快速迁移到3.0。快来一睹为快。


Spring Boot 3.0M1 一些已知的变更

为了跟上形势,一些已知的变化更需要大家知道。


移除Spring Boot 2.x的弃用API


Spring Boot 2.x 中弃用的类、方法和属性会在3.0版本中删除。


最低Java要求


从Spring Boot 3.0开始:

Java 17是最低版本,Java 8不再被兼容。

到正式版发行的时候Java 19也应该发行了。

Jakarta EE 9


Spring Boot 依赖于 Jakarta EE 规范,3.0 已经升级到 Jakarta EE 9 版本。因此Spring Boot 3.0 会使用 Servlet 5.0规范和JPA 3.0规范。相关的三方依赖如果不支持这些规范,将减少或者移除这些依赖。所以相关的三方依赖请尽快根据 Jakarta EE 9 进行版本迭代。基于这个原因,目前不支持Jakarta EE 9的类库将被移除,包含了一些知名三方类库,例如EhCache3、Jersey、JOOQ、Thymeleaf等等,直到这些类库适配 Jakarta EE 9。


(永久)移除支持


以下三个中间件单独被列了出来,感觉像是永久不再支持了。


Apache ActiveMQ


Atomikos


EhCache 2


依赖升级


Spring Boot 3.0的一些Spring依赖项目也都升级到了新的里程碑版本,其中包含了Spring Security 6.0-M1。Jakarta EE相关的模块也升级到了Jakarta EE 9。


更多特性参见Spring Boot3.0M1更新日志


Spring Boot 3.0迁移指南

配置文件机制的更改

在Spring Boot 2.4中,配置文件 application.properties 和 application.yaml 的加载机制被改变,目的是为了简化外部配置的加载方式,使之更加合理,带来的是不向下兼容。为了平滑升级,Spring 提供了一个配置项来兼容旧机制:


例如,你可以有一个src/main/resources/application。 属性如下:


spring.config.use-legacy-processing=true

多文档Yaml

如果你在yaml配置文件中使用了间隔符—来声明多文档的话,你得知道现在按文档声明的顺序来注册声明的配置属性;而在 Spring Boot 2.3 及更早版本中,基于配置文件激活顺序。举个例子:

spring:
  profiles: 
    active: test
  application:
    name: test-service
server:

spring:
  profiles:
    active: uat
  application:
    name: test-service
server:
  port: 8080

这个配置文件在Spring Boot 2.3以前的版本中会根据spring.profiles.active来决定加载的环境。但是从2.4开始后面的属性会覆盖前面的属性。


外部配置总是覆盖jar内的配置

如果你的配置文件在jar之外,并且该配置文件适用于特定的环境,例如application-dev.yaml。2.4以下的版本中,在jar外面的application.yaml不会覆盖jar中的application-<profile名称>.yaml文件,从2.4开始外部文件将总是覆盖jar内的配置文件。你需要检查你是否存在这种情况。


激活配置文件

如果您使用spring.profiles属性来激活环境配置,那么现在就应该迁移到spring.config.activate.on-profile。


旧玩法:

spring:
  profiles: "dev"
secret: "dev-password"

新玩法:

spring:
  config:
    activate:
      on-profile: "dev"
secret: "dev-password"

这真是折腾人啊。spring.profiles.active仍然可以用来激活特定的环境,例如命令行:

$ java -jar myapp.jar --spring.profiles.active=prod

你也可以在 application.properties 或 application.yaml 中使用spring.profiles.active,从2.4开始spring.profiles.active不能在特定环境中使用,也就是说application-.yaml中不能使用,—间隔的多文档中也不能使用它。一句话,你不能再通过spring.profiles.active来合并一个包含了spring.config.activate.on-profile属性的配置文件。


同样的机制, spring.profiles.include属性只能在非特定配置文件中使用,下面的配置是无效的:

无效配置

spring:
  config:
    activate:
      on-profile: "prod"
  profiles:
    include: "metrics"
目录
相关文章
|
5天前
|
设计模式 Java 关系型数据库
【Java笔记+踩坑汇总】Java基础+JavaWeb+SSM+SpringBoot+SpringCloud+瑞吉外卖/谷粒商城/学成在线+设计模式+面试题汇总+性能调优/架构设计+源码解析
本文是“Java学习路线”专栏的导航文章,目标是为Java初学者和初中高级工程师提供一套完整的Java学习路线。
|
29天前
|
JavaScript 前端开发 Java
SpringBoot + Vue 前端后分离项目精进版本
这篇文章详细介绍了一个基于SpringBoot + Vue的前后端分离项目的搭建过程,包括前端Vue项目的初始化、依赖安装、页面创建和路由配置,以及后端SpringBoot项目的依赖添加、配置文件修改、代码实现和跨域问题的解决,最后展示了项目运行效果。
SpringBoot + Vue 前端后分离项目精进版本
|
29天前
|
缓存 前端开发 JavaScript
前后端分离 SpringBoot+Vue商城买卖系统通杀版本。大家可以参考学习一下
这篇文章介绍了一个使用SpringBoot+Vue开发的前后端分离商城系统,包括技术架构、开发环境、实现的功能以及项目截图,并展示了普通用户和商家端的功能界面。
前后端分离 SpringBoot+Vue商城买卖系统通杀版本。大家可以参考学习一下
|
1月前
|
Java 微服务 Spring
SpringBoot+Vue+Spring Cloud Alibaba 实现大型电商系统【分布式微服务实现】
文章介绍了如何利用Spring Cloud Alibaba快速构建大型电商系统的分布式微服务,包括服务限流降级等主要功能的实现,并通过注解和配置简化了Spring Cloud应用的接入和搭建过程。
SpringBoot+Vue+Spring Cloud Alibaba 实现大型电商系统【分布式微服务实现】
|
1月前
|
Java API 开发者
JDK8到JDK17版本升级的新特性问题之SpringBoot选择JDK17作为最小支持的Java lts版本意味着什么
JDK8到JDK17版本升级的新特性问题之SpringBoot选择JDK17作为最小支持的Java lts版本意味着什么
JDK8到JDK17版本升级的新特性问题之SpringBoot选择JDK17作为最小支持的Java lts版本意味着什么
|
1月前
|
Java
SpringBoot和SpringCloud对应版本
SpringBoot和SpringCloud对应版本
65 0
|
2月前
|
监控 NoSQL Java
通用快照方案问题之Martin Flower提出的微服务之间的通信如何解决
通用快照方案问题之Martin Flower提出的微服务之间的通信如何解决
36 0
|
Java
记一次springboot版本升级问题
spring-boot-starter-parent 2.6.6
1160 0
记一次springboot版本升级问题
|
1天前
|
前端开发 JavaScript Java
基于Java+Springboot+Vue开发的音乐推荐管理系统
基于Java+Springboot+Vue开发的音乐推荐管理系统(前后端分离),这是一项为大学生课程设计作业而开发的项目。该系统旨在帮助大学生学习并掌握Java编程技能,同时锻炼他们的项目设计与开发能力。通过学习基于Java的音乐推荐管理系统项目,大学生可以在实践中学习和提升自己的能力,为以后的职业发展打下坚实基础。
31 8
基于Java+Springboot+Vue开发的音乐推荐管理系统
|
1天前
|
前端开发 JavaScript Java
基于Java+Springboot+Vue开发的母婴商城管理系统
基于Java+Springboot+Vue开发的母婴商城管理系统(前后端分离),这是一项为大学生课程设计作业而开发的项目。该系统旨在帮助大学生学习并掌握Java编程技能,同时锻炼他们的项目设计与开发能力。通过学习基于Java的网上母婴商城管理系统项目,大学生可以在实践中学习和提升自己的能力,为以后的职业发展打下坚实基础。
19 7
基于Java+Springboot+Vue开发的母婴商城管理系统