首页 开发教程 Spring Boot 4.0 正式发布,真学不动了!

Spring Boot 4.0 正式发布,真学不动了!

开发教程 2025年12月4日
284 浏览

好家伙,就在昨晚,Spring Boot 团队悄悄地把 4.0.0 正式版发布了!这是 Spring Boot 真正意义上的新一代起点。

Spring Boot 4.0 基于 Spring Framework 7.0,带来了模块化更彻底的代码库、对 Java 25 的原生支持、全面拥抱 JSpecify 空安全体系、API 版本管理,以及一大波开发者期待已久的新特性

话不多说,我们直击重点,看看这次更新到底有多香。概览

新特性概览

HTTP Service Clients(终于来了!)

你是否已经厌倦了编写冗长的 RestTemplateWebClient 样板代码?

现在,你再也不用手写 HTTP 调用的实现类了,直接写一个接口就行:

// 只需定义一个接口,Spring Boot会自动为你创建实现
@HttpExchange(url = \"https://echo.zuplo.io\")
public interface EchoService {

    @PostExchange
    Map echo(@RequestBody Map message);
}

Spring Boot 4.0 为其提供了完整的自动配置和属性支持。这意味着,后端服务间的调用,从此将变得像本地方法调用一样简洁、直观,极大地降低了微服务开发的复杂性。

原生 API 版本管理

API 版本管理是后端开发中一个棘手但又无法回避的问题。现在,Spring Boot 为 Spring MVC 和 WebFlux 提供了原生的 API 版本控制支持。

通过简单的 spring.mvc.apiversion.*spring.webflux.apiversion.* 属性配置,或注入自定义的 ApiVersionResolver 等 Bean,你就可以轻松地实现基于 URL 路径、请求头或参数的版本控制策略。

支持 Gradle 9

Spring Boot 4.0 支持使用 Gradle 9 构建 Spring Boot 应用程序,同时仍然支持 Gradle 8.x(8.14 或更高版本)。

全面拥抱 JSpecify 空安全体系

Spring Boot 4.0 全面拥抱 JSpecify 空安全体系,核心变化只有一句话:默认非空(@NullMarked)+ 明确标注可空(@Nullable,让空指针从“运行时炸弹”变成“编译期报错”。

在类或包上加一个 @NullMarked,里面所有引用类型默认都是非空的,只有明确标了 @Nullable 的才可能为 null。这样:

  • 方法签名一目了然:返回值、参数到底会不会 null;
  • 配合 NullAway 后,漏检查的地方直接编译失败;
  • 零运行时开销,完全兼容现有代码;
  • 比 Optional 更轻量、更适合做大规模重构。

全面拥抱 Java 25

新版本正式提供对 Java 25 的顶级支持(LTS 版本 Java 17 依然兼容)。

当你在 application.properties 中开启虚拟线程 (spring.threads.virtual.enabled=true) 时,自动配置的 JDK HttpClient 将会默认使用虚拟线程,让你的 IO 密集型应用能够轻松获得巨大的性能提升。

依赖版本大跃进

Spring Boot 4.0 迎来了一次“全家桶”式的依赖升级:Spring Framework 7.0、Jackson 3.0、Hibernate 7.1、Tomcat 11、Jetty 12、Kafka 4.1、Kotlin 2.2.20……

几乎所有核心和第三方组件都同步到了最新稳定版。这相当于给你的整个技术栈做了一次“集体换代”,带来了性能、安全性和新特性的全面提升。

Redis 静态主从支持

Lettuce 用户有福了!现在只需一行 spring.data.redis.masterreplica.nodes 配置,就能轻松搞定静态主从模式,不再强制依赖 Sentinel 或 Cluster。

这是我让 AI 总结的:

图片

移除 Undertow

Spring Boot 4.0 完全移除了对 Undertow 的内嵌支持——不仅删掉了 spring-boot-starter-undertow,也不再提供任何 Undertow 相关的自动配置。移除的根本原因是:Spring Boot 4.0 基线升级到 Servlet 6.1(也就是说必须支持 Servlet 6.1 才能留在 starter 列表里),而截至 2025-10 官方发布说明时,Undertow 尚未兼容该版本。

这些新特性很多我都已经同步更新到了《Java 面试指北》(后端面试指南)中,保证内容与时俱进!

升级建议

4.0 是大版本,升级比平时麻烦一点。官方的强烈建议是:如果你现在还在 3.3、3.4 甚至更老的版本 → 先升到 3.5 再升 4.0。这条路径能帮你少踩 90% 的坑,强烈建议别跳过!

详细的迁移指南可以参考官方文档:github.com/spring-proj…

总结

Spring Boot 4.0.0 正式发布,基于 Spring Framework 7.0,全面支持 Java 25(含虚拟线程优化)。核心新特性包括:HTTP Service Clients 简化远程调用;原生 API 版本管理;全面采用 JSpecify 空安全体系(默认非空,编译期防 NPE);关键依赖升级至 Jackson 3.0、Tomcat 11、Hibernate 7.1 等;支持 Gradle 9;Redis 静态主从配置;移除 Undertow。

如果要升级的话,建议先迁移到 3.5 版本再升级。

发表评论
暂无评论

还没有评论呢,快来抢沙发~

客服

点击联系客服 点击联系客服

在线时间:09:00-18:00

关注微信公众号

关注微信公众号
客服电话

400-888-8888

客服邮箱 122325244@qq.com

手机

扫描二维码

手机访问本站

扫描二维码
搜索