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

2025-12-12 0 137

好家伙,就在昨晚,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 版本再升级。

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

申明:本文由第三方发布,内容仅代表作者观点,与本网站无关。对本文以及其中全部或者部分内容的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。本网发布或转载文章出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,也不代表本网对其真实性负责。

左子网 编程相关 Spring Boot 4.0 正式发布,真学不动了! https://www.zuozi.net/36035.html

常见问题
  • 1、自动:拍下后,点击(下载)链接即可下载;2、手动:拍下后,联系卖家发放即可或者联系官方找开发者发货。
查看详情
  • 1、源码默认交易周期:手动发货商品为1-3天,并且用户付款金额将会进入平台担保直到交易完成或者3-7天即可发放,如遇纠纷无限期延长收款金额直至纠纷解决或者退款!;
查看详情
  • 1、描述:源码描述(含标题)与实际源码不一致的(例:货不对板); 2、演示:有演示站时,与实际源码小于95%一致的(但描述中有”不保证完全一样、有变化的可能性”类似显著声明的除外); 3、发货:不发货可无理由退款; 4、安装:免费提供安装服务的源码但卖家不履行的; 5、收费:价格虚标,额外收取其他费用的(但描述中有显著声明或双方交易前有商定的除外); 6、其他:如质量方面的硬性常规问题BUG等。 注:经核实符合上述任一,均支持退款,但卖家予以积极解决问题则除外。
查看详情
  • 1、左子会对双方交易的过程及交易商品的快照进行永久存档,以确保交易的真实、有效、安全! 2、左子无法对如“永久包更新”、“永久技术支持”等类似交易之后的商家承诺做担保,请买家自行鉴别; 3、在源码同时有网站演示与图片演示,且站演与图演不一致时,默认按图演作为纠纷评判依据(特别声明或有商定除外); 4、在没有”无任何正当退款依据”的前提下,商品写有”一旦售出,概不支持退款”等类似的声明,视为无效声明; 5、在未拍下前,双方在QQ上所商定的交易内容,亦可成为纠纷评判依据(商定与描述冲突时,商定为准); 6、因聊天记录可作为纠纷评判依据,故双方联系时,只与对方在左子上所留的QQ、手机号沟通,以防对方不承认自我承诺。 7、虽然交易产生纠纷的几率很小,但一定要保留如聊天记录、手机短信等这样的重要信息,以防产生纠纷时便于左子介入快速处理。
查看详情

相关文章

猜你喜欢
发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务