下一代Spring框架将基于JDK17和JakartaEE开发


昨天召开的SpringOne大会宣布,Spring Framework 6和Spring Boot 3计划在2022年第四季度实现其通用性,基于下面两种标准:

  • Java 17+(来自Spring Framework 5.3.x行中的Java 8-17)
  • JakartaEE 9+(来自Spring Framework 5.3.x行中的Java EE 7-8)

这一前瞻性通用实现将为我们的API设计和集成工作带来重大益处,并在未来许多年中对框架和应用程序进行未来验证。
当然,它需要付出代价:基于Spring Framework 6和Spring Boot 3的应用程序在运行时至少需要JDK 17,以及至少Tomcat 10 / Jetty 11(雅加达EE 9兼容性)。更重要的是,应用程序源代码可能需要一些更改:例如,无论是Servlet API、JPA、Bean Validation等,JakartaEE 9+中的javax等命名空间需要更改。
虽然乍一看这可能听起来很激进,但请记住,我们正在谈论的是2022年第四季度的版本:届时,JDK 17不仅将取代JDK 11成为一年多的下一个长期支持版本,而且它本身也将被JDK 18和JDK 19取代为当时可用的功能版本,JDK 20已经接近其功能冻结。
JakartaEE 9也是如此:我们预计JakartaEE 10届时将推出,另一代Tomcat、Jetty和co将作为运行时选项提供支持。
因此,如果您打算在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和co-新的基础设施优势和新的架构选项将提供给您。我们希望您在未来几年内会欣赏这些选择。
banq:有了docker和k8s这样新的运行时容器和基础设施,java内部这些门派之争已经遭受降维打击的威胁