当前位置: 首页 > 后端技术 > Java

SpringCertification-SpringFramework6的Java17和JakartaEE9基准

时间:2023-04-01 18:26:42 Java

正如在SpringOne上宣布的那样,SpringFramework6和SpringBoot3计划在2022年第四季度达到普遍可用性的高端基准:Java17+(Java8-17来自SpringFramework5.3.x线)JakartaEE9+(来自SpringFramework5.3.x线的JavaEE7-8)这一前瞻性基线将为我们的API设计和集成工作带来显着优势,贯穿您的应用程序代码,并在未来许多年内为框架和您的应用程序提供面向未来的证明。然而,这当然是有代价的:基于SpringFramework6和SpringBoot3的应用程序在运行时至少需要JDK17,并且至少需要Tomcat10/Jetty11(为了与JakartaEE9兼容)。更重要的是,您的应用程序源代码可能需要进行一些更改:例如,在JakartaEE9中,无论您触及ServletAPI、JPA、BeanValidation等,javax到jakarta命名空间都会更改。虽然这听起来可能很激进,但请记住,我们谈论的是2022年第四季度发布:到那时,不仅JDK17将取代JDK11作为下一个长期支持版本超过一年,而且JDK18和JDK19本身将被JDK18和JDK19取代作为当时可用的功能版本,而JDK20已经接近其功能冻结。JakartaEE9也是如此:我们预计JakartaEE10届时将发布,支持另一代Tomcat、Jetty和co作为运行时选项。将上述基线保持在最低限度,这允许Java在SpringFramework6.x代中进一步发展,Java17和JakartaEE9仅仅是个开始。同时,SpringFramework5.3.x和SpringBoot2.x暂时仍在积极开发中,SpringBoot2.6将于今年11月发布,随后是SpringBoot2.7于2022年5月发布。最后一次SpringBoot2.x功能分支已经达到(尚未确定这将是2.7版本还是可能是更高版本),该分支将成为与SpringFramework5.3.x的扩展开源维护阶段,与SpringFramework之间有若干年的重叠6和SpringBoot3。考虑我们之前对SpringFramework3.2.x和4.3.x维护分支的处理,看看这在实践中可能如何发挥作用。所以如果你打算再使用JDK8或11几年,或者即使你打算再使用JDK17上的SpringFramework5.3基础设施几年,请放心,我们将支持SpringFramework5.3.x和SpringBoot2.x让你满意。一旦您准备好为下一代Java生态系统准备您的应用程序,请随时按照您自己的节奏升级到SpringFramework6和SpringBoot3,以及Tomcat、Jetty和co-以及新的基础架构优势和新的体系结构选项对您可用。我们希望您在未来的岁月里会珍惜这些选择。PS:如果您想知道JDK11作为LTS一代,请注意JDK11的商业支持时间比JDK8更短,并且JDK11LTS已经在2023年底被淘汰。JDK17作为下一代LTS将提供至少到2026年的支持时间表。我们认为JDK8在生态系统中具有独特的作用;相比之下,JDK11是一个临时版本。此外,JDK17提供了一组新的语言、API和JVM增强功能,使其成为更具吸引力的升级。最后但并非最不重要的是,在同一代SpringFramework6.x中,仍然会有JDK23LTS(2024)和JDK29LTS(2027)支持,无论如何将最终支持范围带到相当广泛的JDK17-29。