Spring 官宣,干掉 Spring 5.3.x!
前段时间看了SpringOne 大会,这里对一些比较重要的信息简单总结分享一下。
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 云原生生态系统。拭目以待吧!
本文涉及到的一些 PPT 我已整理,公众号后台回复“Spring6”即可。
相关资料:
From Spring Framework 5.3 to 6.0[1] A Java 17 and Jakarta EE 9 baseline for Spring Framework 6[2]
参考资料
From Spring Framework 5.3 to 6.0: https://www.youtube.com/watch?v=btvh21K3yvU
[2]A Java 17 and Jakarta EE 9 baseline for Spring Framework 6: https://spring.io/blog/2021/09/02/a-java-17-and-jakarta-ee-9-baseline-for-spring-framework-6
我是 Guide哥,一个工作2年有余,接触编程已经6年有余的程序员。大三开源 JavaGuide,目前已经 100k+ Star。未来几年,希望持续完善 JavaGuide,争取能够帮助更多学习 Java 的小伙伴!共勉!凎!点击即可了解我的个人经历。
欢迎点赞分享。咱们下期再会!