SpringOne 大会上宣布了一件重大的事情:Spring Framework 6 和 Spring Boot 3 计划在 2022 年第四季度能够达到生产可用的发布标准。
Spring 6.0 的完整发布路线图如下:
简单解释一下不同版本的区别:
M1 M2 M3 M4 中 M 是 Milestone 里程碑的意思。代表功能可能还不完整,可能存在一些问题。
RC1 RC2 RC3 中的 RC 是 Release Candidate 的缩写,翻译过来的意思就是发布候选。代表功能完整且相对稳定,主要进行问题解决。
GA 是 General Availability 的缩写,翻译过来的一般可用,代表稳定可用于生产的版本。
Spring Framework 6 可以说是 Spring 下一步重点规划的一个项目,标志着 Spring 进入新的时代,很大程度上关系了 Spring 能够沿袭过去的辉煌。
在框架设计上,Spring Framework 6 相对来说比较激进。 Spring Framework 6 和 Spring Boot 3 在运行时至少需要 JDK 17,以及至少 Tomcat 10 / Jetty 11(为了与 Jakarta EE 9 兼容)。
Jakarta EE : Java EE,Java 平台企业版(Java Platform Enterprise Edition),之前称为 Java 2 Platform, Enterprise Edition (J2EE),2018 年 3 月更名为 Jakarta EE
这个也是在 Spring 官方在深思熟虑之后商定的结果。
因为,JDK 17 在 2022 年第四季度发表之前将取代 JDK 11 作为下一个长期支持的 JDK 版本。同时,这也是为 JDK 18 和 JDK 19 ,Jakarta EE 10 的到来做准备。
Spring 官方认为 JDK 11 仅仅是一个过渡使用的 JDK 版本,而 JDK 17 几乎是一个全新的编程语言,增强和完善了 API 和 JVM,这让升级 JDK 17 成为更具吸引力的选择。
原话是这样说的:“in comparison, JDK 11 is a transitional release. Also, JDK 17 provides an accumulated set of recent language, API and JVM enhancements, making it a more compelling upgrade.”
Spring Framework 5.3.x 和 Spring Boot 2.x 暂时仍在积极开发中,Spring Boot 2.6 和 Spring Boot 2.7 仍然会基于 Spring Framework 5.3.x。
预计会在今年 11 月推出 Spring Boot 2.6,明年 5 月份推出 Spring Boot 2.7。
SpringOne 大会上还详细介绍了 Spring Native 的相关情况以及最新进展。
Spring Native 是什么呢?官方是这样介绍的:
“Spring Native provides beta support for compiling Spring Boot applications to native executables with GraalVM, providing a new way to deploy Spring Boot applications that then run extremely efficiently.”
简单来说,这就是一种使用GraalVM将 Spring 应用编译成原生镜像的技术,你可以将其看作是部署 Spring Boot 应用程序的新方法,更加高效快速!
根据官方介绍,Spring Native 的构建时间通常要长一些,不过在容器镜像大小、内存占用、启动时间上优势非常大!
强烈建议小伙伴们找到对应的 PPT(我已整理,文末领取即可) 和视频看一看,讲解的非常清楚。
为了应对云原生时代其他编程语言的挑战,Spring 表示自己正在竭尽全力打造一个强大的 Java 云原生生态系统。拭目以待吧!
相关资料:
From Spring Framework 5.3 to 6.0
A Java 17 and Jakarta EE 9 baseline for Spring Framework 6