百度360必应搜狗淘宝本站头条
当前位置:网站首页 > IT技术 > 正文

Spring新闻汇总:Framework、Data、Security、Integration和Modulith发布里程碑版本

wptr33 2025-05-11 18:53 31 浏览


作者 | Michael Redlich
译者 | 张卫滨
策划 | 丁晓昀

最近,Spring 生态系统的活动较为频繁,主要值得关注的是发布了如下项目的里程碑版本:Spring Boot、Spring Framework、Spring Data、Spring Security、Spring Integration 和 Spring Modulith。

Spring 团队还宣布,他们开始将 Spring 项目的里程碑和候选版本发布到 Maven 中央仓库,并计划在 2025 年 11 月发布 GA 版本。

Spring Boot

Spring Boot 3.5.0 的 第一个里程碑版本提供了缺陷修复、文档改进、依赖关系升级和新特性,比如,支持 Spring Framework TaskDecorator接口实现调度任务;使DataSourceBuilder类支持 Vibur DBCP 连接池。关于该版本的更多详细信息,请参阅发布说明。

Spring Boot 的 3.4.2 和 3.3.8 版本发布(发布新闻分别参见此处和此处),它们提供了文档改进、依赖关系升级并解决了一些值得关注的问题,比如,当只声明logging.structured.gelf.host属性时,GraylogExtendedLogFormatProperties类的实例会抛出PointerException异常;增加了BindableRuntimeHintsRegistrar类中对TypeNotPresentException的处理。关于这些版本的详细信息,请参阅 3.4.2 版本 和 3.3.8 版本 的发布说明。

Spring Framework

Spring Framework 7.0.0 的第一个里程碑版本提供了文档改进、依赖关系升级和新的特性,比如,重新定义并优化了KotlinDetector,包括移除不再有用的方法;允许ClientHttpRequestInterceptor接口的多次执行。这次版本发布还通过优化十多个模块和废弃org.springframework.lang包中定义的注解,借助 JSpecify 提供了初步的 安全策略。关于该版本的更多信息,请参阅发布说明。

Spring Data

Spring Data 2025.1.0 的第一个里程碑版本提供了如下特性,将即将发布的 Jakarta EE 11 GA(采用 Hibernate ORM 7.0 和 Hibernate Validator 9.0 作为兼容实现)和 Kotlin 2.x 作为最低的基线要求;Spring Data JPA 的重要修订,包括使用 Java Persistence Query Language(JPQL) 进行衍生查询。Spring Data 团队预计在 2025 年 11 月发布 GA 版本。关于该版本的更多详细信息,请参阅发布说明。

Spring Security

Spring Security 6.5.0 的第一个里程碑版本提供了缺陷修复、依赖关系升级和新特性,比如,通过添加@AuthenticationPrincipal@CurrentSecurityContext注解支持表达式模板(Expression Template);在ClientRegistration类中新增了一个内部类ClientSettings,该类提供了一个 boolean 字段requireProofKey,用于启用代码交换证明密钥(Proof Key for Code Exchange,PKCE)。关于该版本的更多信息,请参阅发布说明。

Spring Integration

Spring Integration 6.5.0 的第一个里程碑版本提供了一个缺陷的修复、依赖关系升级和新特性,例如,为AbstractMessageGroupStore类添加了锁定策略;为@Aggregator注解中定义的 discardChannel 元素添加了一个可选标记,以丢弃整组消息而不是单个消息。关于该版本的更多信息,请参阅发布说明和新功能页面。

Spring Modulith

Spring Modulith 1.4.0 的第一个里程碑版本提供了缺陷修复、依赖关系升级和新特性,比如,支持 Micrometer Observation API 的新DefaultModulithObservationConvention类;以编程方式探测NamedInterface类实例的新策略。关于该版本的更多详细信息,请参阅发布说明。

Spring Modulith 的 1.3.2 和 1.2.8 版本也已发布,分别升级了对 Spring Boot 3.4.2 和 3.3.8 的依赖关系,并解决了如下的问题:从RepositoryEntityController类的实例创建名为repositoryEntityController的 bean 时出现错误,从而导致了BeanCreationException;为 Spring Framework @EventListener注解生成 AsciiDoc 时,如果没有参数的话,会抛出IllegalArgumentException。关于这些版本的更多详细信息,请分别参阅 1.3.2 版本和 1.2.8 版本发布说明。

Spring AI

Spring AI MCP 团队发布了 0.6.0,该版本提供了如下新特性:MCP 客户端与服务器之间的新协议版本协商;可配置的 SSE 端点,包括与默认/sse端点的向后兼容性。该版本弃用的内容包括:McpClient接口中定义的using(ClientMcpTransport)方法,取而代之的是sync(ClientMcpTransport)async(ClientMcpTransport)方法;同样在McpClient接口中定义的Builder类,取代它的是新的构建器模式;McpAsyncClient类中定义的非反应式类型的构造函数。关于该版本的更多详细信息,请参阅发布说明。

Spring AMQP

Spring AMQP 3.2.2发布,提供了两个缺陷的修复、依赖关系升级和一项新特性,即移除被团队认为“虚假”的非公开RestTemplateHolder类,从而解决了RestTemplateNodeLocator类中的弃用警告问题,这个类是由公开的RestTemplateNodeLocator类意外暴露的。该类的逻辑也进行了重构,以直接暴露 Spring Framework RestTemplate类的实例。关于该版本的更多详细信息,请参阅发布说明。

Spring for Apache Kafka

Spring for Apache Kafka 3.3.2发布,该版本提供了文档改进、依赖关系升级并解决了如下问题:因为 Kafka 观察对象上 Micrometer DefaultLongTaskTimer类实例的活动任务数不断增加,从而导致spring.kafka.listener.active指标的内存泄漏,而这些任务从未被垃圾回收;由于KafkaMessageListenerContainer类实例的观察范围未在异常处理的catch子句中关闭,从而导致的异常。

该团队宣布,Apache Kafka 4.0.0 的开发工作将会开始。它将基于即将发布的 Kafka Client 4.0.0 和 Spring Framework 7.0.0,并兼容 Spring Boot 4.0.0。关于该版本的更多详细信息,请参阅发布说明。

Spring for Apache Pulsar

Apache Pulsar 的 Spring 1.2.2 和 1.1.8 版本发布,该版本提供了缺陷修复、依赖关系升级,并解决了如下问题:如果消息已发送到死信主题(Dead Letter Topic,DLT) 主题,监听器再次消费相同的消息时,会遇到PulsarBatchListenerFailedException。这些版本分别包含在 Spring Boot 3.4.2 和 3.3.8 中。关于这些版本的更多详细信息,请分别参阅 1.2.2 版本 和 1.1.8 版本的发布说明。

查看英文原文:

Spring News Roundup: Milestone Releases of Boot, Framework, Data, Security, Integration, Modulith(https://www.infoq.com/news/2025/01/spring-news-roundup-jan20-2025/)

声明:本文为 InfoQ 翻译,未经许可禁止转载。

今日好文推荐
十多个模型打不过 DeepSeek 一个?奥特曼怒将 GPT 和 o 系列合并,非思维链模型时代终结!
“阿里是当下苹果最好的选择,甚至可能没有之一”
Cursor编写90%代码,3个月速成AI App 吸粉破万,编程门槛真降低了?
2025 年将成 Python 主导 AI 领域的最后一年:Java 强势入侵 Python 腹地

相关推荐

一篇文章带你了解PHP的学习使用(php的教程)

ThinkPHP5实战...

在memcached管理php的session(memcached libevent)

PHP的session(会话管理)一般是以文件形式进行,而在多个Web服务器之间进行session管理时memecached会比文件管理方式更加方便。在这里介绍如何使用memcached管理PHP的s...

php传值和传引用的区别(php 传值和传引用)

php传值:在函数范围内,改变变量值得大小,都不会影响到函数外边的变量值。PHP传引用:在函数范围内,对值的任何改变,在函数外部也有所体现,因为传引用传的是内存地址。传值:和copy是一样的。【打个比...

PHP 常量详解教程(php常量和变量)

常量类似变量,但是常量一旦被定义就无法更改或撤销定义。PHP常量常量是单个值的标识符(名称)。在脚本中无法改变该值。有效的常量名以字符或下划线开头(常量名称前面没有$符号)。注释:与变量不同,常...

php自学零基础入门小知识(php新手入门教程)

我们就把PHP入门当成一个苹果吧!一口一口的吃掉他!不啰嗦了!开始了1、嵌入方法:类似ASP的<%,PHP可以是<?php或者是<?,结束符号是?>,当然您也可以自己指定。2、...

PHP 语法详解(php语法大全)

PHP脚本在服务器上执行,然后向浏览器发送回纯HTML结果。基础PHP语法PHP脚本可放置于文档中的任何位置。PHP脚本以<?php开头,以?>结尾:<?php...

PHP笔记(一)PHP基础知识(php必背知识点)

创建PHP程序PHP代码框架<?php>2.文件命名规则...

PHP 8新特性之Attributes(注解),你掌握了吗?

PHP8的Alpha版本,过几天就要发布了,其中包含了不少的新特性,当然我自己认为最重要的还是JIT,这个我从2013年开始参与,中间挫折无数,失败无数后,终于要发布的东东。不过,今天呢,我不打算谈J...

PHP基本语法之标记与注释(php注释规范)

1、标记由于PHP是嵌入式脚本语言,它在实际开发中经常会与HTML内容混在一起,所以为了区分HTML与PHP代码,需要使用标记对PHP代码进行标识。如:<html>...

php注解(PHP注解 性能)

目标了解和使用php注解,如果你已经掌握其他一种具有注解的语言,例如:java、python等,你在本文中只需要了解点语法就行。示例php8以前的版本,注解写在注释里,如果你掌握其他语言的注解,你是不...

数据丢失?别慌!MySQL备份恢复攻略

想象一下,某个晴朗的午后,你正享受着咖啡,突然接到紧急电话:你的网站或APP彻底挂了!系统崩溃,界面全白。虽然心头一紧,但你或许还能安慰自己:系统崩溃只是暂停服务,数据还在,修复修复就好了。然而,如果...

MySQL 日志:undo log、redo log、binlog

今天来和大家分享MySQL的三个日志文件,可以说MySQL的多数特性都是围绕日志文件实现,而其中最重要的有以下三种:...

MySQL三大日志:binlog、redolog、undolog全解析

binlog概述在MySQL数据库中,binlog可是个相当重要的存在,它的全称为binarylog,也就是二进制日志。它就像是数据库的“记忆本”,记录了所有的DDL(数据定义语言)和...

1、MySQL数据库介绍(mysql数据库简单介绍)

1.1数据库的核心定义数据库的本质数据库乃存储数据对象之容器,涵盖如下关键组件:表(Table)...

MySQL 日志双雄:实时监控与历史归档实战优化

MySQL日志双雄:实时监控+历史归档实战用这招让你家日志系统再也不卡不爆炸MySQL十亿级日志处理:从洪峰到归档全攻略手把手教你用MySQL搞定ELK级日志监控在微服务架构大行其道的今天,日志系统早...