Spring Framework 6.0.5 现已发布,包含了 109 项修复和文档改进。下周发布的 Spring Boot 3.0.3 将搭载 Spring Framework 6.0.5。
此版本主要变化包括:
- 将 RFC-8246“immutable”属性添加到
CacheControl
#29955 - 允许 MockRest 将 header/queryParam 值列表与一个匹配器匹配 #29953
- DataBuffer 应该提供对底层 ByteBuffer 的有限访问 #29943
- 引入
HttpServiceProxyFactory#createClient
Kotlin 扩展 #29942 - 支持使用 Jackson 将 ProblemDetail 序列化为 XML #29927
- 优化
TransactionalOperator.executeAndAwait
nullability #29919 - 对 JDK 21 的早期支持 #29910
- StringDecoder 导致直接分配 ByteBuffer #29889
- 在
SharedEntityManagerCreator
的queryTerminatingMethods
集合中包含所有 Hibernate 查询方法 #29886 - 添加对 RSocketExchange 的 native 支持。#29877
- 添加
@Nullable
到ProblemDetail.setProperty
值参数 #29868 - 弃用过时的
ConcurrentExecutorAdapter
,以便在 6.1 中删除 #29865 - ContentDisposition.toString() 应该包括常规和扩展文件名参数 #29861
- 完善
Jackson2ObjectMapperBuilder#configureFeature
异常处理 #29859 - AutowireCapableBeanFactory.createBean(Class) 中的灵活构造函数解析#29855
- 优化 CorsConfiguration::checkHeaders #29853
- Spring Web RestTemplate
http.client.requests
Metrics 不再有client.name
Tag #29839 - 允许
@Aspect
类扩展具体@Aspect
类 #29830 - 自定义约束验证器不适用于原生图像 #29823
- 弃用 HttpStatus 103 CHECKPOINT 以支持新的 EARLY_HINTS #29816
- 修复 R2dbcTransactionManager 调试日志:不要记录 Mono #29800
- 改进为
@JmsListener
订阅生成的默认名称 #29790 - 在 HttpHeaders::getValuesAsList 中支持双引号值 #29785
- ResourceHandlers 无法解析没有通配符模式的静态资源#29739
- 在事务中清理失败时释放 R2DBC 连接#29703
- Spring Webfilters 和 Kotlin Coroutines #29672
- 在 DefaultServerWebExchange 中支持“multipart/mixed”和“multipart/related” #29671
@JsonDeserialize(builder = ...)
在 GraalVM native image 中不起作用#29646- 没有模式的组合类和方法
@RequestMapping
应该与根路径匹配为“”和“/” #29625 - 将 MockMvcWebConnection 中的转发限制为 100 #29557
- GraalVM native image 不支持
@JsonNaming
策略#29386 - 急切调用 R2DBC
DatabaseClient
中的 SQL 供应商 #29367 - 设置 WebSocket
CloseStatus.SESSION\_NOT\_RELIABLE
的原因 #29220 - HttpComponentsClientHttpConnector 在主机无效时挂起 #29156
- 添加 ResponseEntity.ofNullable() 以处理非可选的可空对象 #29117
- 在 AbstractHandlerMapping 中提供对所有已配置拦截器的访问 #28985
- 在
PayloadMethodArgumentResolver
中支持Optional
#28945 - 删除对 WeakEntryReference 和 SoftEntryReference 的释放方法的 clear() 调用 #28863
- 添加
MockMvc.multipart()
Kotlin 扩展与HttpMethod
#28634 - 弃用 Base64Utils #28434
- 当给定无效的输入媒体类型时,在 HttpMediaTypeNotSupportedException 中列出支持的媒体类型 #28062
- 将 getContentAsString 和 getContentAsByteArray 引入 Resource #24651
- 在 Jackson 2 消息转换器中支持 Optional #24498
- 优化
ModelAttributeMethodProcessor
Kotlin 异常处理#23846
更多详情可查看 Release Notes。