Spring Boot 3的新特性 - jrebel


Spring Boot 3是期待已久的Spring Boot 2版本的后续版本,它目前是Spring Boot 3.0.0-M1的M1版本,Spring Boot 3.0.0-M2计划于3月24日交付。
其中 M 表示里程碑版本,RC 表示候选发布版本,SNAPSHOT 表示构建。
在向公众发布之前,M2 版本通常会跟随一到两个候选版本。
Spring Boot 1 于 2014 年发布,Spring Boot 2 于 2018 年发布,Spring Boot 3 计划于 2022 年发布。
 
Spring Boot 3 特性
Spring Boot 3 的特性,至少从 3.0.0-M1 版本的变更日志来看,与 Spring Boot 2.x 版本相比在很大程度上保持不变。
主要变化是围绕 Java 版本(以及 Gradle 用户的 Gradle 版本)、Spring Framework 版本、Jakarta EE 版本以及由此产生的依赖项升级和弃用。

Spring Boot 3 最大的变化是决定使用 Java 17 作为最低版本。要求 Java 17 和更新版本是一个重大举措,Spring 将成为第一个需要此最新 LTS 版本的主要框架。
Spring Boot 3 还需要 Spring Framework 6。对于 Gradle 用户,Spring Boot 3 需要 Gradle 7.3 或更高版本。
其余值得注意的依赖升级可以分为两组,Spring 项目和第三方库。

 
Spring Boot 3 弃用
Spring Boot 3.0.0-M1 中的大多数弃用分为三类:

  • 之前在 Spring Boot 2.x 版本中删除的类、方法和属性
  • Jakarta EE 9 依赖项,其中包当前不支持 Jakarta EE 9 中的新包名称
  • 支持移除

Spring Boot 3.0.0-M1 还删除了对一些附加依赖项的支持,包括 Apache ActiveMQ、Atomikos、EhCache 2 和 HazelCast 3。Jersey 是另一个值得注意的弃用,在它提供对 Spring Framework 6 的支持之前已被删除。
在 2.7.0-M1 和 3.0.0-M1 之间也有许多配置属性更改和弃用。完整列表可在此处找到。