Spring Boot 4.1.0-RC1 发布:核心新特性解析

Spring Boot 4.1.0-RC1 发布:核心新特性解析

2025年5月,Spring Boot 正式发布了 4.1.0-RC1 版本,这是 4.x 系列的第一个候选版本。作为 Spring Boot 4.x 的里程碑版本,4.1 带来了大量值得关注的新特性和改进。本文基于官方 Release Notes,为大家梳理这次更新的核心内容。

版本说明 :本文基于 Spring Boot 4.1.0-RC1,最终 GA 版本可能略有差异。


一、依赖版本全面升级

4.1.0-RC1 依赖的第三方库版本都有显著提升,部分关键升级:

组件 升级版本 说明
Spring Framework 7.0.7 7.x 时代的核心框架
Spring Security 7.1.0-RC1 安全模块同步更新
Tomcat 11.0.21 升级到 Tomcat 11
Jetty 12.1.8 Jetty 12 系
Hibernate 7.2.12.Final JPA 持久层
Micrometer 1.17.0-RC1 指标监控
Reactor Bom 2025.0.5 响应式基础设施
Log4j2 2.25.4 日志框架

二、新增功能(New Features)

2.1 KafkaTemplate 配置增强

新增两个配置选项,用于精细控制 KafkaTemplate 的事务行为:

properties 复制代码
spring.kafka.template.allow-non-transactional=true
spring.kafka.template.close-timeout=5s
  • allowNonTransactional:允许在非事务模式下发送消息
  • closeTimeout:关闭时的超时时间

2.2 Redis 注解驱动监听器

新增 注解驱动的 Redis 监听器 支持,可以通过 @RedisListener 等注解简化 Redis 消息订阅的代码:

java 复制代码
@RedisListener(channels = "my-channel")
public void handleMessage(String message) {
    // 处理消息
}

2.3 WebFlux 全局 HTML 转义配置

响应式 WebFlux 现在支持 spring.webflux.default-html-escape 配置,实现应用级别的 HTML 转义:

properties 复制代码
spring.webflux.default-html-escape=true

2.4 InetAddress 过滤 for HTTP Clients

新增对 HTTP Client 的 InetAddress 过滤支持,增强网络请求的安全性:

properties 复制代码
spring.httpclient.pooled-metrics.filter-inet-address=true

2.5 SSL 证书监控增强

SslMeterBinder 现在支持从 truststore 中监控证书,提供更完善的 SSL 证书生命周期管理。

2.6 Windows 11+ ANSI 支持默认开启

从 Windows 11 开始,ANSI 颜色输出现在默认启用,命令行日志输出更加美观。

2.7 gRPC 异常处理 @GrpcAdvice

新增 @GrpcAdvice 注解支持,用于统一处理 gRPC 服务端的异常:

java 复制代码
@GrpcAdvice
public class GrpcExceptionHandler {
    @GrpcExceptionHandler
    public Status handleRuntimeException(RuntimeException e) {
        return Status.INTERNAL.withDescription(e.getMessage());
    }
}

2.8 OpenTelemetry SDK 环境变量支持

新增对 OpenTelemetry SDK 环境变量的完整支持,配合 management.otel.* 配置,可以更灵活地对接可观测性生态。

2.9 LazyConnectionDataSourceProxy 支持

数据源连接代理支持懒加载模式,减少启动时的连接开销:

properties 复制代码
spring.datasource.lazy=true

2.10 自定义 layers.xml 支持

新增从 classpath 读取自定义 layers.xml 的能力,方便对 Spring Boot fat jar 的分层进行深度定制。


三、Bug 修复(Bug Fixes)

4.1.0-RC1 共修复了 35 个 Bug,列举几个值得关注的:

Issue 说明
#50190 Actuator 安全配置在同时存在 health 和actuator-autoconfigure 时错误
#50184 RandomValuePropertySource 不适合用于 secrets
#50182 Cassandra 自动配置修复 CQL Session 构建问题
#50175 RabbitMQ SSL 主机名验证配置不一致
#49957 spring.jackson.use-jackson2-defaults=true 时意外启用 FAIL_ON_UNKNOWN_PROPERTIES
#49870 Docker Compose 无法使用 apache/artemis 镜像

四、值得关注的技术方向

4.1 Spring 4.x 全面拥抱响应式

从 Spring Framework 7.0 + Spring Security 7.1 的协同升级可以看出,Spring 生态正在全面向响应式编程和现代云原生基础设施演进。

4.2 可观测性持续加强

Micrometer 1.17 + Micrometer Tracing 1.7 + OpenTelemetry 1.60 的组合,使得 Spring Boot 4.1 在可观测性方面更加完善。

4.3 gRPC 支持走向成熟

@GrpcAdvice 注解的引入可以看出,Spring gRPC 的支持正在从实验性走向生产可用。


五、升级建议

注意:Spring Boot 4.x 需要 Java 21+,如果项目还在使用 Java 17 或更低版本,请先完成 JDK 升级。

  1. 评估周期:RC1 版本适合在测试环境先行验证,生产环境建议等 GA 版本
  2. 依赖检查 :重点关注 spring-boot-starter 直接和传递依赖的兼容性
  3. Breaking Changesspring.jackson.use-jackson2-defaults 的行为有变化,需检查相关配置

六、参考链接


本文原创,首发于 CSDN博客。

相关推荐
linweidong33 分钟前
中科闻歌Java面试题及参考答案
java·python·大模型·提示词·ai agent·mcp·rag原理
OpenAnolis小助手39 分钟前
一句话看透 JVM,SysOM 诊断 Skill 新增 Java 应用诊断能力
java·开发语言·jvm·阿里云·操作系统控制台·sysom
ForteScarlet1 小时前
Kotlin 2.4.20 现已发布,新特性多不多?
android·java·开发语言·开源·kotlin·jetbrains
萧瑟余晖1 小时前
Java深入解析篇六十二之安全机制详解
java·开发语言
小刘在重生~1 小时前
Java 常用类|包装类 装箱拆箱、Integer 缓存面试题
java·python·缓存
Orange_sparkle2 小时前
Pi Agent vs LangGraph:从人机交互、企业 RAG 到持久化工作流的完整选型指南
java·网络·人机交互
IT_陈寒2 小时前
React子组件莫名其妙重渲染?你可能漏了这个Hook
前端·人工智能·后端
小兵金林2 小时前
AI 生成代码的思考与实践
后端·ai编程
码事漫谈2 小时前
DeepSeek 明天又降价(涵历史价格对比)
后端
前端精髓2 小时前
NestJS 是什么(对着 Spring Boot 一起学习)
spring boot·后端·学习