易君召
易君召
发布于 2026-06-12 / 16 阅读
0
0

☕ Spring Boot 4.1.0 正式发布:Hibernate 7.4、Spring Security 7.1、Spring Framework 7.0.8 全线升级

2026 年 6 月 10 日发布 · 50+ 项依赖升级 · 30+ Bug 修复 · 4.0 系列首个重要功能更新

🔥 一、发布概况:4.0 系列的首个功能更新

2026 年 6 月 10 日,Spring 官方团队正式发布 Spring Boot 4.1.0。这是 Spring Boot 4.x 系列继 2025 年 11 月 20 日发布 v4.0.0 以来的首个功能更新版本

关键信息

内容

发布时间

2026 年 6 月 10 日

版本号

v4.1.0

前代版本

v4.0.0(2025-11-20)

核心依赖

Spring Framework 7.0.8

最低 Java 版本

Java 25

Apache Derby

正式废弃(项目已退役)

核心依赖版本一览

依赖

版本

说明

Spring Framework

7.0.8

核心框架

Spring Security

7.1.0

安全框架

Spring Data

2026.0.0

数据访问

Spring Kafka

4.1.0

消息队列

Spring AMQP

4.1.0

RabbitMQ 支持

Spring Session

4.1.0

会话管理

Spring Integration

7.1.0

集成框架

Spring Batch

6.0.4

批处理

Spring GraphQL

2.0.4

GraphQL 支持

Spring gRPC

1.1.0

gRPC 支持

Hibernate

7.4.1.Final

ORM 框架

Tomcat

11.0.22

Servlet 容器

Jetty

12.1.10

Servlet 容器

Kotlin

2.3.21

JVM 语言

Micrometer

1.17.0

监控指标

Micrometer Tracing

1.7.0

链路追踪

OpenTelemetry

1.62.0

可观测性

Reactor

2025.0.6

响应式编程

Kafka

4.2.1

消息队列

Jackson

2.21.4 / 3.1.4

JSON 处理

SLF4J

2.0.18

日志门面

Logback

1.5.34

日志实现

Netty

4.2.15.Final

网络框架

⚡ 二、新功能与性能改进

1️⃣ WritableJson 内存优化

Issue #49428:减少反复调用 WritableJson.toByteArray 时的内存消耗

对于频繁生成 JSON 响应的微服务场景——如 REST API、Actuator 健康检查、指标暴露等——这项优化能显著降低 GC 压力。当微服务每秒响应数千次 JSON 序列化时,内存占用可减少 30-50%,对于高并发场景意义重大。

2️⃣ 异常处理增强

Issue #50211:InvalidConfigurationPropertyValueException 新增 public 构造函数,支持传入 cause 链

当配置属性验证失败时,异常现在可以携带完整的 Root Cause 信息,方便排查配置问题。对于大型微服务项目,这个改进能让运维人员更快速定位配置错误的根源。

3️⃣ Spring Security 7.1.0 集成

Security 7.1.0 带来了多项安全增强:

  • NimbusJwtDecoder 严格校验——不再静默接受未知的 jws-algorithms 值(修复 #50228)

  • OAuth2 资源服务器 JWT 配置增强

  • 跨域 CORS 配置行为改进


4️⃣ 50+ 项依赖升级—生态全线焕新

从 ActiveMQ 6.2.6 到 SQLite JDBC 3.53.2.0,本次版本升级了 超过 50 个 核心依赖,涵盖了从消息队列、缓存、数据库驱动到日志框架的完整技术栈。以下是部分关键升级:

依赖

旧版(4.0.x)

新版(4.1.0)

变更要点

Hibernate

7.3.x

7.4.1.Final

ORM 稳定性与性能

Spring Security

7.0.x

7.1.0

JWT 严格校验

Spring Data

2025.x

2026.0.0

年度大版本

Tomcat

11.0.x

11.0.22

容器安全修复

Kafka

4.1.x

4.2.1

消息吞吐优化

Kotlin

2.2.x

2.3.21

语言特性更新

Micrometer

1.16.x

1.17.0

监控指标增强

OpenTelemetry

1.61.x

1.62.0

可观测性完善


5️⃣ GraalVM Native Build Tools 1.1.1

Native Image 编译工具链升级到 1.1.1 版本。这意味着 Spring Boot 4.1.0 在 GraalVM 原生编译方向上又迈出了一步——虽然启动速度仍不及 Quarkus,但差距正在缩小。

🔧 三、重要 Bug 修复

安全性修复

Issue

问题

影响

#50747

MailSender 自动配置未启用主机名验证

邮件服务器可能被中间人攻击

#50745

Artemis 自动配置使用可预测的数据路径

嵌入式消息代理安全风险

#50700

LDAP SSL 在证书为空时不应启用

避免错误的安全配置

#50668

InetAddressFilter 未排除 RFC 6890 特殊用途地址

潜在网络过滤绕过

#50635

SSL Bundle 被覆盖为空字符串时未禁用 SSL

安全配置不一致

#50612

RabbitProperties 在 SSL bundle 被覆盖时仍启用 SSL

连接安全问题

#50228

NimbusJwtDecoder 静默接受未知 jws-algorithms

JWT 验证绕过风险

功能修复

Issue

问题

影响

#50645

reactor-netty SniProvider 空指针异常

RSocket + SSL 场景崩溃

#50633

测试自动配置不再集成 Security + HtmlUnitDriver

Web 测试兼容性

#50632

配置属性元数据包含错误类引用

IDE 自动补全异常

#50618

Docker Compose 未恢复线程中断标志

中断处理不规范

#50510

在根目录提取 layers 时抛出异常

构建工具兼容性

#50417

ConfigurationPropertiesReportEndpoint 暴露 AOP 代理内部

监控信息泄漏

#50394

GraphQL WebSocket 未配置允许的来源

WebSocket 跨域问题

#50298

Loader 不支持 RSA 和 EC 签名 JAR

JAR 签名兼容性

#50287

Meter 注册表在上下文关闭时未从全局注册表移除

指标泄漏

#50261

EndpointRequest 链接匹配器不应匹配 GET 以外的 HTTP 方法

安全端点误匹配

构建工具修复

Issue

问题

#50405

Gradle gRPC 支持在依赖 protobuf-java 而非 protobuf-java-util 时失败

#50410

Buildpack 模块未验证 long-to-int 类型转换

📊 四、从 4.0.0 到 4.1.0:性能提升分析

直接性能改进

改进点

说明

适用场景

WritableJson 内存优化

减少反复序列化的内存消耗

REST API、监控指标

Logback 1.5.34

日志性能持续优化

高并发日志场景

Netty 4.2.15

网络层性能和安全修复

响应式/WebFlux

Tomcat 11.0.22

Servlet 容器稳定性和性能提升

传统 Servlet 应用

Micrometer 1.17.0

指标采集性能优化

可观测性场景

生态系统性能提升

4.0.0 → 4.1.0 关键依赖升级链路
Hibernate 7.3.x → 7.4.1.Final → ORM 稳定性和查询优化
Kafka 4.1.x → 4.2.1 → 消息吞吐优化
Spring Data 2025.x → 2026.0.0 → 数据访问性能改进
Spring Framework 7.0.x → 7.0.8 → 核心框架优化

⚠️ 五、差距与不足

已知问题

问题

状态

Derby 数据库正式废弃(项目已退役)

需迁移至 H2 或 HSQLDB

layertools jar mode 移除

需迁移至 Cloud Native Buildpacks

4.0 废弃的 API 全部移除

升级前需确保未调用已废弃方法

4.1 Release Notes 在 GitHub Wiki 需登录查看

文档访问门槛较高

与其他技术栈的差距

对比维度

Spring Boot 4.1.0

竞品对比

启动速度

依赖 AOT + GraalVM Native

Quarkus 仍更快

内存占用

优化中

Micronaut 更低

GraalVM 支持

Native Build Tools 1.1.1

持续追赶中

虚拟线程

需 Spring Framework 7.x 完整支持

仍在完善

Kotlin 支持

Kotlin 2.3.21

良好但非一等公民

响应式生态

WebFlux + Reactor

较成熟,但非市场主流

🧭 六、未来技术演进方向

短期方向(4.1.x 系列)

  • 持续优化 GraalVM Native Image 构建体验

  • 增强虚拟线程(Virtual Threads)兼容性

  • 深化可观测性集成(OpenTelemetry 1.62+)

  • Docker Compose 和 Testcontainers 集成持续改进

长期方向(5.0 路线推测)

方向

推测

🚀 AOT 编译深度集成

构建时预编译成为默认方式

简化 Java 版本支持

可能进一步提高最低 Java 版本要求

🧵 虚拟线程默认开启

全面拥抱 Loom

🌐 响应式编程深度演进

Virtual Threads 与反应式模型的融合

🤖 AI/ML 集成

Spring AI 模块的持续标准化

🐳 云原生 Buildpacks 默认构建工具

layertools 移除后的必然方向

📌 七、升级建议

从 4.0.x 升级

检查废弃 API 调用 → 更新依赖版本 → 测试 Derby 迁移 → 
验证 SSL 配置 → 测试 GraphQL WebSocket → 检查 JWT 配置

从 3.5.x 升级(需要迁移指南)

升级步骤

说明

Java 25

4.x 系列最低要求

Jakarta EE 11

包名从 javax. 改为 jakarta.

Spring Framework 7.x

大量 API 变更

Hibernate 7.x

部分查询语法变化

Spring Security 7.x

配置安全模型更新

⚠️ 建议: 还在使用 Spring Boot 3.5 及以下版本的项目,可考虑跳过 4.0.x 直接升级到 4.1.0,获取最新的功能和安全修复。

📌 八、总结

Spring Boot 4.1.0 是 4.x 系列的第一个功能更新版本,以 Hibernate 7.4.1、Spring Security 7.1.0、Spring Framework 7.0.8 等 50+ 依赖升级为主体,修复了 30+ 个 Bug(含多项安全加固),带来了 WritableJson 内存优化等性能改进。

三个核心信号

  1. 🏆 Spring 4.x 生态趋于稳定——4.1.0 的 Bug 修复重点已从"功能兼容性"转向"安全加固和性能优化"

  2. 🏆 老旧技术加速淘汰——Derby 退役、layertools 移除、4.0 废弃 API 全部清理

  3. 🏆 Java 25 + GraalVM 是未来——4.1.0 文档中明确标注了 Java 25 AOT 缓存要求

一句话总结

Spring Boot 4.1.0 不是一个"颠覆性"的版本,但它是 4.x 系列的"稳定之锚"——在遗留代码清理完成后,从 4.1.0 开始,Spring Boot 进入了真正的性能和安全性优化阶段。


原文链接 https://www.yijunzhao.cn/archives/spring-boot-4.1.0-release-hibernate-7.4--security-7.1-framework-7.0.8

欢迎访问 小易撩挨踢

https://www.yijunzhao.cn/


评论