抢先一步
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。