Spring 年度回顾 -2025
这篇文章总结了 Spring 在 2025 年的一些亮点工作,我想,了解这些对我们开发者来讲很有用处,本文翻译自 Spring 官方博客。
大家好,Spring 粉丝们!你们敢信吗?今天已经是 12 月 30 日了!我在洛杉矶和家人一起庆祝了圣诞节,随后我们立刻飞往东南亚,准备与更多亲朋好友一同迎接新年的到来。此刻,我正坐在马来西亚吉隆坡这座炎热潮湿的城市中的一家咖啡馆里写下这些文字——满怀温情地回顾 2025 年的最后一周,以及整个 2025 年。
没错!又到了我一年一度的传统环节:回溯式年终盘点与深度分析。欢迎来到《This Year in Spring》,在这里我们将回顾过去一年中那些美好、卓越乃至惊艳的五大亮点。(当然,我们也会照常带来本周的新闻速递。)
那么,首先让我们来看看 2026 年的五大核心主题。
Spring Boot 4
这一点你肯定早有预料。2025 年是 Spring 生态系统翻开全新篇章的一年:从 Spring Framework 7 开始,包括 Spring Security 7、Spring Batch 6 在内的众多 Spring 项目纷纷跟进升级。紧接着,我们迎来了 Spring Boot 4!(顺便说一句,现在其实已经发布到 Spring Boot 4.0.1 了……)
Spring Boot 4 集成了大量令人惊叹的新特性,不仅整合了整个生态系统的改进成果,还在 Spring Boot 自身提供了诸多便利功能。亮点包括声明式接口客户端、API 版本控制、统一的 Spring Security 支持、全新的无资源(resourceless)Spring Batch 以及基于 MongoDB 的仓库实现、名为 BeanRegistrar 的新配置模型,等等。
在此版本基础上,还涌现出一批所谓的“post-Boot”项目——它们以 Spring Boot 本身作为依赖项。这其中包括 Spring Cloud、Spring Modulith、Spring gRPC(目前阶段)以及 Spring AI。除 Spring AI 外,其他项目均已发布了兼容 Spring Boot 4 的 GA 版本;而 Spring AI 2.0 也已提供里程碑版本供试用。
这一新版 Spring Boot 代表了一个具备深远新特性的全新世代。和往常一样,你可以在 Spring Initializr 上立即尝试!
AI.next
2025 年,通过我在 YouTube、播客以及无数场大会演讲中的分享,我向数百万人介绍了令人震撼的 Spring AI 项目。它在 JVM 平台上提供了最丰富的 AI 技术集成能力。
早在 2024 年 11 月(距今已超过一年),我们就启动了对 MCP 规范的集成工作——当时 Anthropic 刚刚提出这一初步构想。进入 2025 年初,我们将这项工作捐赠给了 MCP 项目本身,并成为其官方 Java SDK 的核心开发团队。随后,我们将 Spring AI 的集成层重构至这一全新基础 SDK 之上。此后,我们持续快速推进开发,紧跟规范的每一次迭代,同时不断完善组件模型等关键部分。MCP 是一项具有划时代意义的技术,将催生一个完整的集成生态和无限机遇。你会用它构建出什么?
你上一次与 AI 大语言模型(LLM)对话时,是否曾觉得第一次尝试就得到了完美回答?我敢打赌,几乎从未有过。这种现象在成本更低、规模更小但实用性极强的模型上尤为明显——它们缺乏前沿大模型那种“读懂你心思”的能力。不过,你可以通过一系列明确定义的步骤累积状态,从而获得更优结果——这正是诸如 Embabel 这类“智能体框架”(agentic frameworks)所专注的领域,而 Embabel 正是构建于 Spring AI 之上。
说到 Spring AI,它的发展速度简直惊人。虽然它本身已内置了 20 多种模型集成和 20 多种向量存储集成,但并非所有内容都能纳入核心项目。因此,我们创建了 Spring AI Community 组织,在那里你可以找到更多模型与集成方案。
以下三个项目绝对值得关注:
Spring AI Agents 项目支持将智能体 CLI(如 OpenAI Codex 和 Claude Code)封装为服务,同时还提供了对 ACP(Agent Client Protocol)的丰富封装。为什么要使用 CLI 而非直接调用模型?因为你的操作系统本身就提供了丰富的工具集,而 AI 能借助它们完成令人惊叹的任务。通过 Spring AI Agents,你可以绕过中间环节,或对其进行编排。
当前,AI 智能体 CLI 社区面临一个基准测试难题。事实上的标准是 SWE 基准,但它用 Python 编写,且任务内容已过时多年。坦白讲:模型早已“背熟”了这些题目,在该基准上表现极佳(准确率超 70%)。但一旦换成 Java 任务,得分便急剧下滑。Spring AI Bench 正致力于提供贴近现实、现代化的工作负载,确保测试可快速且可复现。
顾名思义,Spring MCP Security 会紧密跟踪 MCP 安全规范的变更,并为 Spring AI 与 Spring Security 用户提供深度集成。安全性、可观测性与可扩展性是企业级 AI 的三大基石——而在这些方面,无人能出 Spring 之右。
Security as a Feature(安全即特性)
Spring Security 在 2025 年取得了巨大进展。近期发布的 Spring Security 6.x 引入了一次性令牌(one-time tokens)和 WebAuthn(即广为人知的“通行密钥”,passkeys)。通行密钥是一种极其出色、用户友好且高度安全的方式,可将生物识别与多因素认证无缝集成到应用中。
作为 Spring Boot 4 发布列车的一部分,Spring Security 7 更进一步,内置了多因素认证支持。它建立在已有的丰富集成基础之上,如 SAML、Kerberos 和 OAuth。顺便一提:Kerberos 支持以及独立的 Spring Authorization Server(一个完整的 OAuth 身份提供商)如今也已纳入 Spring Security 7!
The Open Web(开放的 Web)
Spring 最初就是一个 Web 框架。自 Spring Framework 诞生之初,Spring MVC 便已随行。不久之后,Spring-WS 于 2007 年推出,用于支持 SOAP 服务。2009 年,Spring Framework 3 加入了强大的 REST 服务 HTTP 支持,后续又通过 Spring HATEOAS 增强了超媒体能力。
此后,我们探索了二进制协议 RSocket,并与 GraphQL Java 团队合作推出了功能完备的 GraphQL 支持。最近,我们宣布了 Spring gRPC,提供一流的 gRPC 支持,涵盖安全、可观测性及 GraalVM 编译能力。Spring gRPC 已在 Spring Boot 4 发布后不久正式 GA——现在就去试试吧!
A Java for Today and Tomorrow(面向当下与未来的 Java)
快速问答:下面这段代码是什么语言?
void main() {
IO.println("hello, world!");
}
你猜对了:这是 Java!把它保存为 script.java,然后直接运行 java script.java 即可——无需编译步骤。你刚刚运行了史上第一个优秀的 Java 脚本(Java script)!世上有很多糟糕的 JavaScript,但这是一个 Java script,而且棒极了!注意,这里完全不需要编译?另外,你是否注意到代码中没有外层类?它和我一样,“毫无 class”(no class)!随着每个新版本的发布,Java 的开发者体验正变得越来越好!
如今的 Java 借助虚拟线程(virtual threads)实现了毫不费力的横向扩展,提供了类似 Go 语言的可扩展性,却避免了 async/await 的冗长语法。你只需在 Spring Initializr 上勾选 GraalVM,然后运行以下命令,即可将 Spring Boot 应用转为 GraalVM 原生镜像:
./mvnw -Pnative native:compile
还不打算全面转向原生镜像?Project Leyden 和 AOT 缓存也能带来类似的启动加速效果——通常可将启动时间缩短 75% 以上。当然,我们也已内置了对这些技术的支持!
Brian Goetz 在其演讲《Growing the Java Language》中提出了一种极具说服力的理念:“可生长”特性(growable features)——即语法、类型与库协同演进。例如 Iterable<T> 和 AutoCloseable,这两个简单接口便解锁了强大的语言特性。
这种思维对 Project Valhalla 至关重要。Valhalla 旨在引入用户自定义的值类型(value types),使其行为如同基本类型般高效,同时保持表达力与安全性。Valhalla 将带来显著的性能提升,并推动 Vector API 等项目的发展,确保 Java 在与 C、Go 和 Rust 的竞争中始终立于不败之地。
对于 Java 和 Spring 开发者而言,当下正是最好的时代,而明年只会更加精彩!
那么,话不多说,让我们直接进入本周的新闻速递!
The Roundup(本周速递)
- Evolving Spring Vault: Introducing VaultClient
- Christian Tsolov 分享:高效调用 Spring AI 工具
- Spring Boot 4:破坏性变更一览
- 使用 Orkes Conductor 编排工作流
- FaunaDB 与 Spring 集成
- James Ward 提问:2026 年会是智能体 AI(agentic AI)之年吗?
- Spring Boot 4 中的 Kotlin 序列化
- Spring Boot + Temporal.io
- HikariCP 入门指南
- IntelliJ IDEA 对 Spring Data JDBC 的支持
- 使用 Spring Data Cassandra 保存日期值
- Tanzu Platform 仍是企业级 Java 应用的最佳归宿
- 我最爱的企业级 starter:Spring Boot Governance Starter
以上就是本期全部内容!这也是《This Week in Spring》在 2025 年的最后一期。下周将迎来 2026 年的第一期——想想真是不可思议,因为我从 2011 年第一周开始撰写这些文章,下周就将迎来《This Week in Spring》的第 15 个年头!(而且我从未间断过一周!)
我相信,我完全可以代表整个 Spring 团队,衷心祝愿你和你的家人新年平安、快乐、健康!
Member discussion