Spring Framework 6.2.0-M7 现已发布

Spring Framework 6.2.0-M7 现已发布

💡 原文英文,约300词,阅读约需1分钟。
📝

内容提要

Spring Framework 6.2.0-M7发布,核心和本地支持有多项改进,包括缓存抽象中的错误处理和灵活的持续时间解析/打印多单元格式。还增加了在AOT处理期间进行bean注册的支持,并修复了与AOT相关的错误。在Web和消息传递方面,Freemarker现在支持Jakarta和请求参数,恢复了标签库的支持。HTTP接口客户端可以在注解中定义静态头,并将基于集合的@RequestParam参数编码为单个字符串。使用@MockitoBean或@MockitoSpyBean注解测试类现在会为严格存根设置Mockito。

🔎

延伸解读

缓存抽象错误处理与多单元格式解析

本次里程碑改进了缓存抽象的错误处理,使缓存操作异常更可控。同时,在之前引入的 Duration 解析/打印支持基础上,新增了灵活的多单元格式,允许以更自然的方式表达时间长度,例如组合多个时间单位。这有助于开发者更精确地配置缓存过期等时间参数,减少手动转换的繁琐。

AOT 处理中忽略 Bean 注册与 Kotlin DSL 支持

新版本允许在 AOT 处理期间通过新增属性忽略 Bean 注册,为条件化注册提供了更细粒度的控制。此外,使用 Kotlin DSL 注册的 Bean 现在也能被 AOT/native 正确处理,并修复了若干 AOT 相关错误。这些改进提升了原生镜像构建的灵活性和可靠性,尤其对 Kotlin 开发者更友好。

HTTP 接口客户端静态头与集合参数编码

HTTP 接口客户端现在支持在注解中定义静态请求头,简化了固定头部的声明。同时,基于集合的 @RequestParam 参数可以被编码为单个字符串,方便与某些需要逗号分隔值的服务端交互。这些增强让声明式 HTTP 客户端更适应多样化的 API 契约。

测试中 Mockito 严格存根与 SSE 片段流式渲染

使用 @MockitoBean 或 @MockitoSpyBean 的测试类现在会自动为 Mockito 配置严格存根,有助于及早发现未使用的存根,并可通过 @MockitoBeanSettings 覆盖。另外,继 M5 支持渲染多个片段后,现在还能通过 SSE 流式发送片段,适合 htmx 或 turbo 等前端技术,提升动态更新体验。

❓

Q&A

Spring Framework 6.2.0-M7有哪些新特性?

该版本增加了缓存抽象的错误处理、灵活的多单元格式支持、AOT处理期间的bean注册支持等多个新特性。

如何在Spring Framework 6.2.0-M7中处理AOT相关的bean注册?

在AOT处理期间,可以通过新引入的属性忽略bean注册,并支持使用Kotlin DSL注册的bean。

Freemarker在Spring Framework 6.2.0-M7中有哪些改进?

Freemarker现在支持Jakarta,并恢复了请求参数和标签库的支持。

Spring Framework 6.2.0-M7如何支持HTTP接口客户端?

HTTP接口客户端可以在注解中定义静态头,并将基于集合的@RequestParam参数编码为单个字符串。

如何在测试中使用@MockitoBean或@MockitoSpyBean注解?

使用这些注解的测试类现在支持严格存根设置,可以通过@MockitoBeanSettings注解进行覆盖。

Spring Framework 6.2.0-M7对缓存抽象的错误处理做了哪些改进?

该版本改进了缓存抽象的错误处理,增强了框架的稳定性和可靠性。

🏷️

标签

➡️

继续阅读