Spring Boot 3.4.0 新特性
Spring Boot 3.0.0 开始支持并最低要求 Java 17,目前的新版本也陆续开始支持 Java 21 ~ 23 了。
在这里插入图片描述
Spring Boot 中的结构化日志
Spring Boot 3.4 支持结构化日志记录,并支持以下开箱即用的 JSON 格式:
Elastic Common Schema (ecs)
Graylog Extended Log Format (gelf)
Logstash(logstash)
启用结构化日志记录配置:参数说明

logging.structured.format.console

用于控制台输出

logging.structured.format.file

用于文件输出

logging:
  structured:
    format:
      console: ecs
      file: ecs

结构化日志配置支持上面所说的 ecs、gelf、logstash 日志。

扩展虚拟线程Spring Boot 3.4 开始,

如果启用了虚拟线程,以下组件将使用虚拟线程:OtlpMeterRegistryUndertow web server另外,
通过 Spring Integration 集成的任务调度器(TaskScheduler)现在也是虚拟线程感知的,即使在 @EnableScheduling 在没有开启的状态下。
Actuator 增强
可插拔的 Actuator 暴露器Spring Boot 3.4 支持扩展 Spring Boot 以可插拔的方式公开 Actuator 端点,并且添加了一个 EndpointExposureOutcomeContributor 接口,它会影响到 @ConditionalOnAvailableEndpoint 注解的条件控制。此扩展可以更轻松地提供类似于我们现有的 Cloud Foundry 支持的其他平台集成

RestClient 和 RestTemplate

RestClient 和 RestTemplate 的自动配置,添加了对 Netty 响应式的 HttpClient HTTP 客户端和 JDK 的 HttpClient HTTP 客户端的支持。按照优先顺序分别是:
Apache HTTP Components (HttpComponentsClientHttpRequestFactory)
Jetty Client (JettyClientHttpRequestFactory)
Reactor Netty HttpClient (ReactorClientHttpRequestFactory)
JDK HttpClient (JdkClientHttpRequestFactory)
Simple JDK HttpURLConnection (SimpleClientHttpRequestFactory)

需要注意的是,如果在类路径上没有HTTP客户端库,这可能会导致使用 JdkClientHttpRequestFactory,而以前使用的是 SimpleClientHttpRequestFactory。可以通过设置 spring.http.client.factory 参数来选择特定的 HTTP 客户端,支持的值有:http-components、jetty、reactor、jdk 和 simple。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐