搶先一步
VMware 提供培訓和認證,以加速您的進步。
瞭解更多正如昨天在 SpringOne 上宣佈的那樣,Spring Framework 6 和 Spring Boot 3 計劃在 2022 年第四季度實現其通用版本的高階基線
這種前瞻性的基線將在我們的 API 設計和整合工作中提供顯著的好處,體現在您的應用程式程式碼中,併為框架和您的應用程式在未來多年內提供保障。 然而,它當然是有代價的:基於 Spring Framework 6 和 Spring Boot 3 的應用程式將需要在執行時至少使用 JDK 17,以及至少使用 Tomcat 10 / Jetty 11(以實現 Jakarta EE 9 的相容性)。 更重要的是,您的應用程式原始碼可能需要進行一些更改:例如,在您接觸 Servlet API、JPA、Bean Validation 等的任何地方,Jakarta EE 9 中 *javax* 到 *jakarta* 名稱空間的更改。
雖然這乍一聽可能有些激進,但請記住,我們談論的是 2022 年第四季度釋出的版本:到那時,JDK 17 不僅將取代 JDK 11 成為下一個長期支援版本一年多,而且它本身也將被 JDK 18 和 JDK 19 取代,成為當時可用的功能版本,而 JDK 20 已經接近其功能凍結。 Jakarta EE 9 也是如此:我們預計 Jakarta EE 10 屆時會發布,並且將支援新一代的 Tomcat、Jetty 等作為執行時選項。 保持上述基線作為最低要求,這允許在 Spring Framework 6.x 代中進一步拾取 Java 演變,Java 17 和 Jakarta EE 9 只是一個開始。
與此同時,Spring Framework 5.3.x 和 Spring Boot 2.x 目前仍在積極開發中,Spring Boot 2.6 將於今年 11 月釋出,Spring Boot 2.7 將於 2022 年 5 月釋出。 一旦達到最終的 Spring Boot 2.x 功能分支(尚未確定這將是 2.7 還是稍後的版本),該分支將與 Spring Framework 5.3.x 一起轉變為擴充套件的開源維護階段,與 Spring Framework 6 和 Spring Boot 3 並行幾年。 請考慮我們之前對 Spring Framework 3.2.x 和 4.3.x 維護分支的處理方式,以瞭解這在實踐中將如何實現。
因此,如果您打算在未來幾年內繼續使用 JDK 8 或 11,或者即使您打算在未來幾年內在 JDK 17 上繼續使用 Spring Framework 5.3 基礎設施,請放心,我們對 Spring Framework 5.3.x 和 Spring Boot 2.x 的擴充套件維護將為您提供保障。 一旦您準備好為下一代 Java 生態系統準備您的應用程式,您可以隨意升級到 Spring Framework 6 和 Spring Boot 3,以及 Tomcat、Jetty 等 - 新的基礎設施優勢和新的架構選項將供您使用。 我們希望您在未來幾年內會喜歡這些選擇。
附:如果您想知道 JDK 11 作為 LTS 一代,請注意 JDK 11 的商業支援時間比 JDK 8 短,JDK 11 LTS 將在 2023 年底逐步淘汰。 作為下一代 LTS 的 JDK 17 將提供至少到 2026 年的支援期限。 我們認為 JDK 8 在生態系統中具有獨特的地位; 相比之下,JDK 11 是一個過渡版本。 此外,JDK 17 提供了一系列累積的最新語言、API 和 JVM 增強功能,使其成為更具吸引力的升級。 最後但並非最不重要的一點是,在同一個 Spring Framework 6.x 代中,仍然可以支援直到 29 LTS(在 2027 年)的 JDK 版本,從而將最終支援範圍變成相當廣泛的 JDK 17-29。