Spring 6 和 Spring Boot 3 的主要更新
在2021年的Spring One大会上,VMware公布了Spring 6的计划,该版本预计于2022年10月发布,旨在为未来十年的Java开发奠定基础。以下是Spring 6和Spring Boot 3的主要更新内容:
Spring 6 的主要特性
- Java 17 和 Jakarta EE 9 支持:Spring 6将要求使用Java 17作为最低版本,并支持Jakarta EE 9。这意味着Spring将采用新的
jakarta
包命名空间,尽管这会破坏向后兼容性,但有助于Spring保持与最新技术的同步。 - Java模块系统支持:Spring 6将提供对Java Platform Module System (JPMS)的一流支持,开发者可以使用JPMS编写Spring应用程序。
- 原生编译支持:Spring Native项目将继续改进,Spring 6将原生编译无缝集成到Spring Boot 3中,提供启动配置和构建包,取代当前的Spring Native。
- 可观测性增强:Spring 6引入了Spring Observability项目,基于Spring Cloud Sleuth的经验,提供度量记录和追踪功能,支持OpenZipkin和OpenTelemetry等提供商。与基于代理的可观测性不同,Spring Observability可以在原生编译的Spring应用程序中工作。
- 移除过时功能:Spring 6将移除一些过时的功能,如按名称/类型自动装配setter、某些FactoryBean配置以及一些与Web相关的选项。此外,EJB和JAX-WS等第三方集成也可能被移除。
Spring Boot 3 的更新
- 基于Spring 6:Spring Boot 3将基于Spring 6构建,但尚未确定具体的发布日期。
- 原生编译支持:Spring Boot 3将提供对原生编译的支持,但可能不会立即支持所有Spring Initializr库。
- 发布节奏变化:Spring Boot的发布节奏可能会从每年一次改为每半年一次,与Spring Framework保持一致。
开发者的反馈与社区合作
VMware鼓励开发者参与Spring 6和Spring Boot 3的反馈,并计划在2021年底发布Spring 6的第一个里程碑版本,2022年7月发布候选版本。VMware还与GraalVM团队合作,推动Java生态系统的原生编译支持,并与其他框架(如Micronaut)进行协作,以改善Java库的原生兼容性。
未来展望
Spring 6的发布标志着Java生态系统的一个重要转折点,VMware预计JDK 17将成为新的长期支持(LTS)版本,并将在未来的JDK版本中支持更多新特性(如Project Loom)。Spring 6的发布节奏可能也会从每年一次改为每半年一次,与Spring Boot保持一致。
总结
Spring 6和Spring Boot 3的更新旨在为未来的Java开发提供更强大的支持,特别是在原生编译、可观测性和模块化方面。VMware通过与社区和其他框架的合作,努力推动Java生态系统的进步,并为开发者提供更高效的工具和框架。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。