pring Boot 4.1.0 正式发布了最新的支持版本如下从路线图可以看到每个版本的终止时间每个版本的生命周期只有一年。Spring Boot 3.4.x 及以下开源版本全部停止维护了Spring Boot 3.5.x 马上也要停止维护了开源支持的版本马上要进入 4.0 版本的时代了商业支持的 3.x 最高版本版本3.3.x、2.x 为 2.7.x。Spring Boot 3.0 很快要成为过去式了Spring Boot 马上要进入了全新的 4.0 时代了2.6.x 以下的版本彻底退出历史舞台技术变革太快了赶紧学起来。。Spring Boot 4.1.0 更新要点Spring Boot 4.1 虽然不是一次像 4.0 那样的大换血但增加了好几个实用的新功能一起来看看。1、Spring gRPC 官方支持gRPC 是 Google 开源的一个高性能的 RPC 框架利用二进制消息实现客户端与服务器之间的通信。Spring Boot 提供对开发和测试客户端及服务器端 gRPC 应用的支持。gRPC 使用的底层消息格式是 Protocol Buffers它允许使用多种编程语言来创建和使用消息。Spring Boot 4.1 最大的新增能力就是把 gRPC 正式纳入官方生态。以前做 gRPC需要依赖社区 Starter 或独立的 Spring gRPC 项目而现在Spring 官方终于补上了这一块拼图。现在 Spring Boot 4.1 提供了完整支持包括支持 gRPC Server支持 gRPC Client支持 Testing提供自动配置和配置属性。Spring Boot 4.1 已经内置了 gRPC Server、Client、Testing 等能力开发体验与其他 Spring 技术栈保持一致gRPC 终于成为 Spring Boot 的默认生态能力。2、Jackson 配置能力增强以前如果要调整 Jackson 的行为不同的数据格式往往有各自的配置方式。JSON、XML、CBOR 虽然底层都基于 Jackson但很多配置并不能统一管理开发者需要分别处理。而现在Spring Boot 将这些通用能力进行了抽象。对于所有格式共享的读写特性可以直接通过统一的配置项进行控制spring.jackson.read.* spring.jackson.write.*其中spring.jackson.read.*用于控制反序列化读取行为spring.jackson.write.*用于控制序列化写入行为。除了配置统一之外Spring Boot 与 Jackson 的整合也进一步增强。自动配置生成的 Jackson Mapper现在会自动关联一个HandlerInstantiator。这个机制最大的变化在于Jackson 在创建各种处理组件时可以直接从 Spring 容器中获取 Bean。这些组件不仅能够自动装配还能够享受 Spring 提供的依赖注入能力大幅降低了扩展和维护成本。与此同时Spring Boot 还开放了更多 Jackson 底层能力。Jackson 内部实际上依赖各种 Factory 来创建 Reader、Writer 和底层解析器。现在开发者可以通过spring.jackson.factory.*对这些底层 Factory 进行细粒度配置。如果属性配置仍然无法满足需求Spring Boot 还新增了一组 Builder 级别的定制扩展点JsonFactoryBuilderCustomizerCborFactoryBuilderCustomizerXmlFactoryBuilderCustomizer可以在自动配置创建对应 Mapper 之前直接介入 Factory Builder 的构建过程对 Jackson 的底层实现进行深度定制。这次 Jackson 的升级虽然看起来只是一些配置项和扩展接口的调整但实际上体现了一个非常明确的方向那就是让 Jackson 的配置更加统一、与 Spring 的集成更加深入同时开放更多底层定制能力。3、HTTP Client 新增 SSRF 防护这个我觉得是 4.1 最容易被忽视但又最重要的升级。Spring Boot 4.1 为 HTTP Client 增加了InetAddressFilter 支持主要用于防止SSRFServer-Side Request Forgery服务端请求伪造攻击。4、可观测性增强Spring Boot 4.0 已经全面拥抱可观测性而 4.1 则继续强化。这次可观测性的更新重点可以概括为 3 个方面上下文传播自动化观测规则自动化OpenTelemetry 能力增强。其中最值得关注的几个点是Async 自动透传 Trace ContextKafka、RabbitMQ、JVM 指标自定义规则自动生效OpenTelemetry 新增采样、限流、日志、SSL、环境变量等全链路增强。对于企业应用来说Spring Boot 的可观测性能力进一步向开箱即用的生产级方案靠拢。5、Log4j 文件轮转支持来了这个也是官方重点提到的增强以前使用 Log4j 时如果想做日志切割很多人会自己配置 RollingFileAppender但配置起来比较繁琐。Spring Boot 4.1 增强了对Log4j 文件轮转File Rotation的支持支持4 种滚动策略满足不同场景下的日志归档需求。支持的滚动策略size默认按照日志文件大小进行滚动。当日志文件达到指定大小后自动切分例如达到100MB后生成新的日志文件。time按照时间间隔进行滚动。可以按天、按小时等固定时间周期生成新的日志文件。size-and-time同时结合文件大小和时间进行滚动。只有满足大小和时间条件时才会触发滚动兼顾日志容量与归档周期。cron基于 Cron 表达式进行滚动。可以像定时任务一样灵活控制日志切分时间例如每天凌晨、每周日、每月 1 号等。对于大多数线上系统来说size-and-time是最实用的方案它既避免单个日志文件过大又能保证日志