大家好,我是R哥。

一周时间,Spring Boot 连发两个版本:

这版本速度也太快了吧,跟不上了,不过好在都是小版本更新,主要是一些 bug 修复和依赖升级,没什么大问题。

本次更新要点

Spring Boot 4.0.5 版本主要包含 17 个漏洞修复、文档改进和依赖升级,重点说说 Spring Boot 4.0.4 版本一些主要的更新要点。

1、ZipkinSpanExporter 已被弃用

OpenTelemetry 规范已经弃用 Zipkin 导出器,预计该构件将在 2026 年中旬停止发布。

因为 OpenTelemetry 官方推荐使用 OpenTelemetry Protocol 作为统一标准传输协议,原有的导出器就变得多余了,所以官方不再推荐使用导出器了,这样也能降低维护成本。

应用只负责将标准化数据推送到 OpenTelemetry Collector,再由 Collector 负责数据转换并路由给后端的 Zipkin。这样实现了解耦,也让应用层更专注于生成和发送数据,而不需要关心后端的具体实现细节了。

所以,Spring Boot 中的 OpenTelemetry 的 ZipkinSpanExporter 也相应被弃用了,相关的类和自动配置将会在 Spring Boot 4.2 版本中彻底移除。

具体可以参考问题:

https://github.com/spring-projects/spring-boot/issues/49453

2、Jackson 依赖升级

Jackson 已停止对 2.20.x、3.0.x 版本的支持,所以 Jackson 2 已升级到了最新的 2.21.1 版本,Jackson 3 已升级到了最新的 3.1.0 版本

Jackson 3 是一个彻底抛弃历史包袱、面向未来的主版本,它的核心使命是全面拥抱现代 Java 生态,包括原生支持 Java 模块化系统、全面迁移至 Jakarta EE 命名空间,以及清理过去十几年积累的废弃 API。

注意,Spring Boot 4.0 已经把 Jackson 3 调整为首选的 JSON 库,Jackson 2 被标记为弃用 。

更多可以参考文章:

Spring Boot 4.0 正式发布,王炸!!

3、Tomcat 参数调整

Tomcat 的 server.tomcat.max-part-count 配置项的默认值已从 10 提升至 50,现在和 Tomcat 自身的默认值以及 Spring Boot 3.x 的默认设置保持一致了。

这个参数控制的是 multipart/form-data 请求中允许的最大 Part 数量(对应表单中的普通字段数或上传的文件数),之前的默认值为 10 过于保守,容易在处理包含多个输入框或多图上传的复杂表单时,触发上传异常。

所以,将默认值恢复到 Spring Boot 3.x 中的默认值 50 后,Spring Boot 就能更好地支持复杂表单的上传了,减少了开发者在处理 multipart 请求时遇到的问题。

4、漏洞修复

另外还有 67 个 bug 修复,特别是修复了 “CVE-2026-22731: Actuator Health 组路径下的身份验证绕过” 和 “CVE-2026-22733: Actuator CloudFoundry 端点下的身份验证绕过” 等两个安全问题。

除此之外,就是文档优化、更多依赖升级等常规维护内容了。


除了更新 Spring Boot 4.0.x 版本线,另外还有 Spring Boot 3.5.13 和 Spring Boot 4.1.0-M4 也已经发布了:

相信过不了太久,Spring Boot 4.1.0 正式版就要发布了,R哥到时会同步更新,大家可以关注一下。

现在的所有在维护的 Spring Boot 版本都已经升级到了 Java 17+ 了,最高兼容到 Java 25 了,大家还停留在 Java 8 的话,建议尽快升级到 Java 17+,这样才能享受到 Spring Boot 4.x 的新特性和性能提升。

如果你对 Java 9+ 和 Spring Boot 还没有系统性的学习,推荐下我的两个课程:

学完这两个课程,你就能全面掌握 Java 17 和 Spring Boot 4.x 的核心技术了,不管是在工作中还是在面试中,都能游刃有余了。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注