Spring 全家桶版本更新:Spring Boot、Spring Security 和 Spring Modulith
Spring Boot 3.3.1 和 3.2.7 发布,带来了文档改进、依赖升级,解决了一些显著的问题:例如,尝试将 Tomcat 的 Http11Nio2Protocol 类实例与 Spring Boot 配置的 SSL 一起使用时出现的 IllegalArgumentException
;如果未包含 java.sql
模块,DataSourceProperties 类实例将无法绑定。有关这些版本的更多详细信息,请参阅 3.3.1 和 3.2.7 的发布说明。
Spring Framework 6.1.10 发布,这是第十个维护版本,包含了错误修复(包括来自 6.1.9 的回归)、文档改进和新功能:PersistenceExceptionTranslationInterceptor 类实例现在会防御性地检索 PersistenceExceptionTranslator 接口 bean,以处理在关闭之前未初始化翻译器的场景;以及支持 DisconnectedClientHelper 类中所有“连接重置”异常短语。该版本包含在 Spring Boot 3.2.7 和 3.3.1 中。有关该版本的更多详细信息,请参阅 发布说明。
Spring Security 6.3.1、6.2.5 和 5.8.13 发布,这些版本包含了错误修复、依赖升级、构建更新和新功能,例如:增强了 RequestMatcherDelegatingAuthorizationManager 类中定义的 check()
方法的日志记录,该方法之前未提供有用信息;更新了 ldap.adoc 文件,包含了必要的依赖,避免了开发者在设置 LDAP 时遇到的问题。有关这些版本的更多详细信息,请参阅 6.3.1、6.2.5 和 5.8.13 的发布说明。
Spring Authorization Server 1.3.1 和 1.2.5 发布,这些版本包含了依赖升级,并解决了一些问题:修复了由于 AOT 提示导致的编译问题,这个发生在使用 JdbcOAuth2AuthorizationService 或 JdbcRegisteredClientRepository 类是出现的 ClassNotFoundException
;同时,修复了 X509 客户端证书认证在未首先检查客户端认证方法的情况下强制执行 YAML 配置文件中 client_id
字段的值的问题。有关这些版本的更多详细信息,请参阅 1.3.1 和 1.2.5 的发布说明。
Spring for GraphQL 1.3.1 和 1.2.7 发布,这些版本包含了错误修复、文档改进、依赖升级和新功能:支持从带有 @EntityMapping 注解的方法返回 Reactor Flux 实例,以补充现有的对 List
、Mono和
CompletableFuture<List>
的支持;同时,允许在 Spring for GraphQL 1.2 系列版本中使用 GraphQL Java 21.x。这些版本分别包含在 Spring Boot 3.2.7 和 3.3.1 中。有关这些版本的更多详细信息,请参阅 1.3.1 和 1.2.7 的发布说明。
Spring Session 3.3.1 和 3.2.4 发布,这些版本带来了依赖升级和一个新功能,解决了一个问题:即在某些情况下,返回 UserDetails 接口的默认实现,而不是用户的自定义实现。有关这些版本的更多详细信息,请参阅 3.3.1 和 3.2.4 的发布说明。
Spring Integration 6.3.1 和 6.2.6 发布,这些版本带来了错误修复、文档改进、依赖升级和一个新功能,为 ZeroMqMessageHandler 类提供了一个可选的主题,用于将消息分发到必须用额外的空帧包装的订阅,这是对现有的默认主题的补充。有关这些版本的更多详细信息,请参阅 6.3.1 和 6.2.6 的发布说明。
Spring Modulith 1.2.1 和 1.1.6 发布,这些版本的特性包括:通过 spring.modulith.detection-strategy
属性改进了 ApplicationModuleDetectionStrategy 接口的配置,这个属性的值可以是 direct-sub-packages
(默认)或 explicitly-annotated
;解决了命名接口检测在嵌套接口场景中意外捕获嵌套声明的问题;依赖项分别升级到 Spring Boot 3.3.1 和 3.2.7。有关这些版本的更多详细信息,请参阅 1.2.1 和 1.1.6 的发布说明。
Spring AMQP 3.1.6 发布,包含了依赖项升级,并解决了一些问题:由于 SimpleMessageListenerContainer 类未释放 consumer
变量,导致 ActiveObjectCounter 类中定义的 release()
方法无法访问;将 RabbitFuture 类中定义的 cancelTimeoutTaskIfAny()
方法移动到 finally
块中,消除了在执行目标逻辑后被中断的线程。有关此版本的更多详细信息,请参阅发布说明。
Spring for Apache Kafka 3.2.1 和 3.1.6 发布,这些版本包含了错误修复、依赖项升级和一个新功能,即在从 Sleuth 迁移到 Micrometer 之后,在 AbstractKafkaHeaderMapper 类中添加了映射到字符串的追踪标头。这些版本分别包含在 Spring Boot 3.2.7 和 3.3.1 中。有关这些版本的更多详细信息,请参阅 3.2.1 和 3.1.6 的发布说明。
Spring for Apache Pulsar 1.1.1 和 1.0.7 发布,这些版本包含了众多依赖项升级:Micrometer Metrics 1.13.1 和 1.12.7;Reactive Client for Apache Pulsar 0.5.6;以及 Spring Framework 6.1.9。这些版本分别包含在 Spring Boot 3.2.7 和 3.3.1 中。有关这些版本的更多详细信息,请参阅 1.1.1 和 1.0.7 的发布说明。
在 Spring Tools 4.23.0 发布不到一周后,4.23.1 也已 发布,旨在提供重要的修复,例如:添加用于启用 / 禁用 JPQL、HQL 和 SQL 语法验证的设置选项和用于设置 Spring Data 查询语法中问题严重程度的设置选项;在 VSCode 中打开 Spring Boot 项目时,从 AnnotationHierarchies 类内部引发的 StackOverflowException
。有关此版本的更多详细信息,请参阅发布说明。
查看英文原文:
https://www.infoq.com/news/2024/06/spring-releases-jun17-2024/
声明:本文由 InfoQ 翻译,未经许可禁止转载。
德国再次拥抱Linux:数万系统从windows迁出,能否避开二十年前的“坑”?
哈佛退学本科生开发史上最快芯片;居然之家汪林朋:AI时代名校毕业生不如厨师司机,北大的到我那就八千元;英伟达高层频频套现|Q资讯
微信扫码关注该文公众号作者