摘要:妈呀,前不久才因为Tomcat经常出漏洞才将Springboot项目切到使用UndertowSpring boot框架 4.0 移除了Undertow支持 ,都转为用Undertow,因为是Undertow这次主要还是红帽公司有点不太给力,如果后续Undert
前几天,Spring Boot 4.0.0 M2 版本发布了,然后看到了一些说明情况...

妈呀,前不久才因为 Tomcat 经常出漏洞才将 Springboot 项目切到使用 Undertow
Spring boot 框架 4.0 移除了 Undertow
支持 ,都转为用 Undertow ,因为是 Undertow 这次主要还是红帽公司有点不太给力,如果后续 Undertow 更新的话,后面 SpringBoot
应该也是会迭代更新的 重要变更和移除 移除 Undertow 支持: 由于 Spring Boot 4.0 要求 Servlet 6.1 基线,而 Undertow 尚不兼容,因此已移除对 Undertow 的支持。 移除对部分注解的支持: Actuator 端点参数不再支持使用 javax.annotations.NonNull 和 org.springframework.lang.Nullable 来声明可选参数,应迁移至 OptionalParameter 或 org.jspecify.annotations.Nullable。 Elasticsearch 客户端变更: 自动配置已从已弃用的低级 RestClient 替换为新的 Rest5Client。相应的,RestClientBuilderCustomizer 需要被替换为 Rest5ClientBuilderCustomizer。 Kafka Streams 自定义: 移除了 Spring Boot 的 StreamBuilderFactoryBeanCustomizer,转而使用 Spring Kafka 的 StreamsBuilderFactoryBeanConfigurer。 最低要求变更: 现在要求 Gradle 版本为 8.x(8.14 或更高)或 9.x
新功能和亮点 支持 Gradle 9: 新增了对 Gradle 9 的支持,同时保持对 Gradle 8.14 及以上版本的支持。 OpenTelemetry Starter: 引入了一个新的 starter spring-boot-starter-opentelemetry,它引入了通过 OTLP 导出指标和追踪所需的所有依赖,并会自动配置 OpenTelemetry SDK。 API 版本控制: 为 Spring MVC 和 Spring WebFlux 添加了 API 版本控制的自动配置。 @HttpServiceClient 注解支持: 现在会自动注册带有@org.springframework.web.service.registry.HttpServiceClient 注解的接口。 JSpecify 可空性注解: 添加了 JSpecify 可空性注解,这可能会影响到使用空检查器或 Kotlin 的项目。 新的 autoconfigure-classic 模块: 引入了 spring-boot-autoconfigure-classic 模块,提供了类似 Spring Boot 3 的体验,无需处理模块间的传递性依赖。 可观测性模块重命名: spring-boot-metrics、spring-boot-observation 和 spring-boot-tracing 等模块已重命名,并更新了其根包名
依赖项升级 此版本升级了多个 Spring 项目及第三方依赖的版本,其中一些关键升级包括:
Spring Framework 7.0.0-M8 Spring Data 2025.1.0-M5 Spring Security 7.0.0-M2 Micrometer 1.16.0-M2 Hibernate 7.1 Jackson 2.20 (rc) Jetty 12.1
其他杂项 日志: Logback 的默认字符集已与 Log4j2 统一,默认为 UTF-8。同时,引入了 logging.console.enabled 属性,设置为 false 可禁用控制台日志。 虚拟线程: 当 spring.threads.virtual.enabled 为 true 时,由 JDK HttpClient 支持的自动配置的 HTTP 客户端现在会配置为使用虚拟线程。 来源:寂寞的咖啡
免责声明:本站系转载,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与本站联系,我们将在第一时间删除内容!