Spring Framework 6.0.3 现已可用,包含了 48 项修复和文档改进。
新特性
- 抛出 PessimisticLockingFailureException/CannotAcquireLockException 而不是普通的 ConcurrencyFailureException #29675
- 在
MockClientHttpRequest
和MockClientHttpResponse
中引入额外的构造函数 #29670 - 回退到 JdkClientHttpConnector 作为 ClientHttpConnector #29645
- 优化
RequestMappingHandlerMapping#handleNoMatch
中的对象创建 #29634 - 在客户端和服务器上对齐多部分编解码器 #29630
- 规范更改后弃用“application/graphql+json”媒体类型 #29617
- HTTP 接口客户端写入表单数据时不调用 FormHttpMessageWriter #29615
- ProblemDetail 没有 override equals 方法 #29606
- 将 title 添加到 SockJS iFrame 以实现可访问性合规性 #29594
- 如果 AOT 处理失败,禁止在 AOT 模式下加载测试的
ApplicationContext
#29579 - 弃用 JettyWebSocketClient 以支持 StandardWebSocketClient # 29576
- 改进选项以 expose ProblemDetail 响应的 MessageSource 格式错误 #29574
- 更新
BindingReflectionHintsRegistrar
以支持记录上的属性 #29571
Bug 修复
- 不能再在 Spring MVC 6.0 中使用 WebDAV 方法 #29689
- 当容器注释中存在其他属性时,AnnotatedElementUtils.findMergedRepeatableAnnotations 不获取结果 #29685
- 调用 getPropertyValue 后 setWrappedInstance 中的 BeanWrapperImpl NPE #29681
- SpEL
ConstructorReference
不生成数组的 AST 表示 #29665 - BindingReflectionHintsRegistrar 中匿名类的 NullPointerException #29657
- DataBufferInputStream 违反了 InputStream contract #29642
- 组件扫描不再使用
@Named
、@ManagedBean
和其他 Jakarta 注释的组件索引 #29641 - 修复 PartHttpMessageWriter 中的 canWrite #29631
NoHandlerFoundException
错误地从ErrorResponse#getHeaders
返回 request headers #29626- 如果同时存在
URI
和@PathVariable
方法参数,则@HttpExchange
的 URI override 不起作用 #29624 - 构造函数参数解析的不必要的参数名称自省(导致 LocalVariableTableParameterNameDiscoverer 警告)#29612
- 在 ResponseStatusException 的两个构造函数中根据原因设置详细信息#29608
- SpEL 字符串文字在 toStringAST() 中缺少单引号#29604
- type boolean 的 bean 的 AOT 代码生成失败 #29598
- 解析 Content-Type 时 WebFlux 出现 500 错误导致 InvalidMediaTypeException #29565
- ConcurrentLruCache 实现使用了过多的堆内存 #29520
- 在 Spring 6 中,Duplicate key 违规被转换为 DataIntegrityViolationException 而不是 DuplicateKeyException #29511
- SpEL:两个双引号在单引号的 String literal 中被一个双引号替换(反之亦然)#28356
文档
- 修复 ErrorResponse#type 文档 #29632
- 修复可观察性文档中的拼写错误 #29590
- 对 Jakarta WebSocket (2.1) 的一致文档引用 #29581
- 参考文档中未呈现的 asciidoc headings #29569
- 文档可观察性支持 #29524
依赖升级
- 升级到 Apache HttpClient 5.2 #29627
- 升级到 Gradle 7.6 #29583
- 升级到 Micrometer 1.10.2 #29678
- 升级到 Reactor 2022.0.1 #29679
更多详情可查看 Release Notes。