|
Spring Boot 4.0 带来了多项重大更新,显著提升了性能、开发体验与现代化能力 官网。以下是核心新增功能的清晰梳理: 模块化自动配置
将原先庞大的 spring-boot-autoconfigure 单体 JAR 拆分为 47 个轻量模块,实现按需加载。例如引入 spring-boot-starter-web 时,仅加载 WebMVC 相关配置,不再包含批处理、MongoDB 等无关内容,有效减少依赖冗余 。 原生 API 版本控制支持
内置对 API 多版本管理的支持,开发者可通过 @RequestMapping(version="1") 等注解直接实现路径或请求头方式的版本控制,无需再自定义路由逻辑 。这简化了接口演进过程,减少约 200 行自定义代码 。 JSpecify 空安全体系升级
采用 JSpecify 1.0 替代原有的 Spring 空注解(如 @Nullable),与 IntelliJ IDEA 深度集成,在编译期即可发现潜在空指针异常(NPE),提前规避生产环境故障 官网。 声明式 HTTP 客户端
内置基于 RestClient 或 WebClient 的声明式 HTTP 客户端支持,开发者只需定义一个接口,Spring 就能自动生成实现,无需依赖 Feign 等第三方库,代码量减少可达 60% 。 GraalVM 原生镜像正式支持
将 GraalVM 原生编译从实验特性升级为生产级支持。通过 AOT(提前编译)技术,微服务冷启动时间可从 500ms 降至 50ms 以内,内存占用从 2GB 降至 120MB 左右,资源成本降低超 80% 。 虚拟线程全面支持(JDK 21+)
全面集成 JDK 21 的虚拟线程特性,通过 spring.threads.virtual.enabled=true 即可全局启用。在支付网关等高并发场景下,每秒请求处理量(RPS)从 1.2 万提升至 8.5 万,CPU 占用率下降 40% 。 OpenTelemetry 内建集成
新增 spring-boot-starter-opentelemetry 起步依赖,开箱即用支持 OTLP 协议导出指标与追踪数据,并自动桥接 Micrometer 与 OpenTelemetry,实现观测性能力的统一与增强 。 可观测性与监控增强
集成 Micrometer 2.0,支持 SSL 健康检查;Actuator 新增 /virtual-threads 端点,可实时监控虚拟线程状态与阻塞事件,提升系统可观测性 。 Kotlin 基线升级
新版本以 Kotlin 2.2 为基准,提供更优的 Kotlin 支持,推动 Kotlin 在 Spring 生态中的深度应用 。 依赖与测试调整
移除了 MockitoTestExecutionListener,测试中需改用 @ExtendWith(MockitoExtension.class);同时精简了 spring-boot-starter-parent 结构,使项目更轻量 。
|