news 2026/5/1 9:56:10

Spring Boot 4.0 正式发布,人已麻。。。

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Spring Boot 4.0 正式发布,人已麻。。。

好家伙,就在昨晚,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<String, String> 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 尚未兼容该版本。

升级建议

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

详细的迁移指南可以参考官方文档:https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-4.0-Migration-Guide

总结

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 版本再升级。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/11 23:13:33

2026年域名中介平台推荐

在域名交易逐渐走向专业化的背景下&#xff0c;域名中介平台的作用正在被越来越多买卖双方重新认识。尤其是在价格较高、谈判复杂或涉及终端买家的交易中&#xff0c;单纯依靠挂售往往难以达成理想结果&#xff0c;而通过专业中介介入&#xff0c;反而更容易促成成交。 进入202…

作者头像 李华
网站建设 2026/5/1 7:47:20

如何用5步智能配置法高效完成黑苹果EFI构建

如何用5步智能配置法高效完成黑苹果EFI构建 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify 在黑苹果配置过程中&#xff0c;许多用户都曾面临硬件识别…

作者头像 李华
网站建设 2026/5/1 7:58:55

智能家居设备无线控制技术指南

智能家居设备无线控制技术指南 【免费下载链接】3DS-FBI-Link Mac app to graphically push CIAs to FBI. Extra features over servefiles and Boop. 项目地址: https://gitcode.com/gh_mirrors/3d/3DS-FBI-Link 一、核心痛点 智能家居设备的普及带来了全新的生活体验…

作者头像 李华