Skip to content

新增支持和变更

  • Java 17+ 和 Jakarta EE 支持:Spring Boot 3.0 最低要求 Java 17,并且所有底层依赖项从 Java EE 迁移到了 Jakarta EE API。这意味着任何以 javax. 开头的包名都变更为 jakarta.

  • GraalVM 原生镜像支持:Spring Boot 3.0 正式支持 GraalVM 原生镜像编译,这可以提供显著的内存和启动性能改进。

  • Micrometer 和 Micrometer Tracing:提高了应用的可观察性,支持集成 Micrometer 1.10+,引入了全新的可观察 API 并自动配置 Micrometer Tracing。

  • AOT(提前编译)支持:为了优化启动时间和减少内存占用,Spring Boot 提供了 AOT 处理能力,允许在构建时进行优化。

  • 移除对旧版的向后兼容代码:例如,spring.factories 文件已经被弃用,取而代之的是 META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports 文件用于注册自动配置。

  • 类型安全的配置属性:增强了 @ConfigurationProperties 注解的功能,包括构造函数绑定和默认值的支持。

SpringBoot3的新特性

  1. Java版本要求:Spring Boot 3.0最低支持Java 17,表明了Spring社区对最新Java长期支持(LTS)版本的承诺。

  2. Spring Framework 6.0:与Spring Boot 3.0配套的是Spring Framework 6.0,包含了框架层面的新特性和改进。

  3. Jakarta EE迁移:Spring Boot 3.0迁移到了Jakarta命名空间,遵循Jakarta EE 9标准,这是从老的Java EE规范向新的Jakarta EE生态系统的转变。

  4. 依赖更改:移除了不再推荐使用的某些技术的集成,例如ActiveMQ和Atomikos等,同时更新了对其他组件的支持以适应新版本的要求。

  5. 函数式接口增强:SpringMVC 5.2及以后版本允许使用函数式编程模型来定义Web请求处理流程。

  6. 配置文件变更:关于自动配置的元数据可能有所调整,比如META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports

  7. Spring Data JDBC自动配置优化:为Spring Data JDBC提供了更灵活的自动配置选项。

  8. Micrometer观察API:加强了对Micrometer可观察性API的支持,可以主动将监控数据报告给Zipkin等追踪系统,并提供自定义追踪参数配置功能。

  9. Prometheus示例自动配置:对于Prometheus这样的度量指标收集工具,Spring Boot 3.0提供了更为方便的自动配置示例。

综上所述,Spring Boot 3.0旨在通过拥抱新技术标准、提高性能、简化配置以及提升开发者体验来持续推动Java生态系统的发展。

todo

Micrometer观察API

GraalVM 原生镜像支持

AOT 支持