最近springboot生态有啥能力更新?

128 阅读2分钟

最近Spring Boot生态有不少能力更新,主要体现在Spring Boot 3.5的发布以及Spring Boot 4.0的问世,具体如下:

Spring Boot 3.5更新内容

  • 任务调度增强:Spring Boot 3.5会自动将应用上下文中的TaskDecorator Bean应用于所有定时任务调度器,让安全上下文和MDC日志信息的传递更简单,利于处理多租户上下文和统一权限等场景。
  • 新增连接池支持:除了常见的HikariCP等连接池,新增了对Vibur DBCP连接池的支持。Vibur DBCP具备高级性能监控功能,可检测慢SQL查询、防止线程饥饿并支持JDBC语句缓存。
  • 安全监控升级:Actuator提供了SSL证书链的健康状态指标,能对有效、过期、即将过期和尚未生效的证书进行分类统计,方便运维团队监控。
  • 配置管理优化:允许从单个环境变量中加载多个配置属性,在Docker和Kubernetes环境中,可通过单个环境变量传递多个配置项,简化容器化部署。
  • 链路追踪完善:与Micrometer Observations和Tracing集成时,可自动将Trace ID写入HTTP响应头,在微服务架构中有助于前端获取Trace ID进行问题报告。
  • 运维体验提升:Actuator功能增强,可通过HTTP接口触发Quartz任务,无需等待预设调度时间,提升紧急情况下的响应速度。还允许自定义结构化日志中的堆栈跟踪信息输出,能过滤掉框架代码,让日志更易读。
  • 函数式编程支持:通过BeanRegistrar接口支持函数式Bean注册,可提前体验Spring Framework 7新特性,为运行时根据特定条件或逻辑动态注册Bean提供更灵活选择。

Spring Boot 4.0更新内容

  • 基础依赖升级:至少需要Java 17支持,还需要Spring Framework 7.0.0 - SNAPSHOT或更高版本,以及maven 3.6.3或更高的版本,Gradle 7.6.4或更高的版本。
  • GraalVM原生镜像深度集成:将GraalVM原生编译从实验特性升级为正式生产级支持,通过AOT编译实现冷启动时间与内存占用的优化。冷启动效率可提升至50ms以内,典型微服务堆内存可从2GB缩减至120MB级别。
  • 虚拟线程支持:基于JDK 21的虚拟线程特性,重构线程池模型以支持百万级并发。通过spring.threads.virtual.enabled=true可全局启用,Actuator新增/virtual - threads端点,用于实时监控线程状态与阻塞事件。
  • API版本控制增强:RequestMapping引入了version进行版本控制,可优雅管理多版本API,取代Feign的HttpExchange注解,代码量可减少60%。