Spring 官宣,干掉 Spring 5.3.x!
前段時間看了SpringOne 大會,這里對一些比較重要的信息簡單總結(jié)分享一下。

SpringOne 大會上宣布了一件重大的事情:Spring Framework 6 和 Spring Boot 3 計(jì)劃在 2022 年第四季度能夠達(dá)到生產(chǎn)可用的發(fā)布標(biāo)準(zhǔn)。
Spring 6.0 的完整發(fā)布路線圖如下:

簡單解釋一下不同版本的區(qū)別:
M1 M2 M3 M4 中 M 是 Milestone 里程碑的意思。代表功能可能還不完整,可能存在一些問題。 RC1 RC2 RC3 中的 RC 是 Release Candidate 的縮寫,翻譯過來的意思就是發(fā)布候選。代表功能完整且相對穩(wěn)定,主要進(jìn)行問題解決。 GA 是 General Availability 的縮寫,翻譯過來的一般可用,代表穩(wěn)定可用于生產(chǎn)的版本。
Spring Framework 6 可以說是 Spring 下一步重點(diǎn)規(guī)劃的一個項(xiàng)目,標(biāo)志著 Spring 進(jìn)入新的時代,很大程度上關(guān)系了 Spring 能夠沿襲過去的輝煌。

在框架設(shè)計(jì)上,Spring Framework 6 相對來說比較激進(jìn)。Spring Framework 6 和 Spring Boot 3 在運(yùn)行時至少需要 JDK 17,以及至少 Tomcat 10 / Jetty 11(為了與 Jakarta EE 9 兼容)。
Jakarta EE : Java EE,Java 平臺企業(yè)版(Java Platform Enterprise Edition),之前稱為 Java 2 Platform, Enterprise Edition (J2EE),2018 年 3 月更名為 Jakarta EE

這個也是在 Spring 官方在深思熟慮之后商定的結(jié)果。
因?yàn)?,JDK 17 在 2022 年第四季度發(fā)表之前將取代 JDK 11 作為下一個長期支持的 JDK 版本。同時,這也是為 JDK 18 和 JDK 19 ,Jakarta EE 10 的到來做準(zhǔn)備。
Spring 官方認(rèn)為 JDK 11 僅僅是一個過渡使用的 JDK 版本,而 JDK 17 幾乎是一個全新的編程語言,增強(qiáng)和完善了 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 暫時仍在積極開發(fā)中,Spring Boot 2.6 和 Spring Boot 2.7 仍然會基于 Spring Framework 5.3.x。
預(yù)計(jì)會在今年 11 月推出 Spring Boot 2.6,明年 5 月份推出 Spring Boot 2.7。

SpringOne 大會上還詳細(xì)介紹了 Spring Native 的相關(guān)情況以及最新進(jìn)展。
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 應(yīng)用編譯成原生鏡像的技術(shù),你可以將其看作是部署 Spring Boot 應(yīng)用程序的新方法,更加高效快速!

根據(jù)官方介紹,Spring Native 的構(gòu)建時間通常要長一些,不過在容器鏡像大小、內(nèi)存占用、啟動時間上優(yōu)勢非常大!
強(qiáng)烈建議小伙伴們找到對應(yīng)的 PPT(我已整理,文末領(lǐng)取即可) 和視頻看一看,講解的非常清楚。

為了應(yīng)對云原生時代其他編程語言的挑戰(zhàn),Spring 表示自己正在竭盡全力打造一個強(qiáng)大的 Java 云原生生態(tài)系統(tǒng)。拭目以待吧!
本文涉及到的一些 PPT 我已整理,公眾號后臺回復(fù)“Spring6”即可。
相關(guān)資料:
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年有余,接觸編程已經(jīng)6年有余的程序員。大三開源 JavaGuide,目前已經(jīng) 100k+ Star。未來幾年,希望持續(xù)完善 JavaGuide,爭取能夠幫助更多學(xué)習(xí) Java 的小伙伴!共勉!凎!點(diǎn)擊即可了解我的個人經(jīng)歷。
歡迎點(diǎn)贊分享。咱們下期再會!
