编程 Embabel 1.5:把 AI Agent 示例应用升级到 Spring Boot 4.x

2026-09-07 22:16:00

Embabel 1.5:把 AI Agent 示例应用升级到 Spring Boot 4.x / Spring AI 2.x

前两篇用 Embabel 1.0(面向 Spring Boot 3.x / Spring AI 1.x)开发并跑通了示例应用。Embabel 团队最近发布 1.5,支持 Spring Boot 4.x / Spring AI 2.x。这篇是迁移过程——对这个用例而言,简单得出奇。

第一步:pom.xml 声明版本

<properties>
    <java.version>25</java.version>
    <embabel-agent.version>1.5.1</embabel-agent.version>
</properties>

注意用的是 1.5.1 而非 1.5.0。作者在 1.5.0 上遇到了 Amazon Bedrock Converse API 的具体问题:BedrockOptionsConverter 创建了泛型 ToolCallingChatOptions,而 Spring AI 2.0 的 BedrockProxyChatModel 期望 BedrockChatOptions 并按此强转请求选项,导致:

ClassCastException: DefaultToolCallingChatOptions cannot be cast to BedrockChatOptions

Embabel 团队在 1.5.1 修掉了这个问题。

第二步:声明 Jackson 3 mapper Bean

Spring Boot 4.x / Spring AI 2.x 默认使用 Jackson 3,需要在主应用类里声明一个 Jackson 3 的 JsonMapper Spring Bean:

@Bean
public JsonMapper objectMapper() {
    return new tools.jackson.databind.json.JsonMapper();
}

仅此而已。编译、启动、与示例应用交互的方式与前两篇完全一致。

实践建议

  • 框架升级时先查补丁版本:1.5.0 撞上 Bedrock Converse 的 ClassCastException,1.5.1 修复——大版本迁移不要停在 .0
  • Spring Boot 4.x 换 Jackson 3 后,显式声明 JsonMapper Bean 是常见落地步骤;
  • 依赖 Bedrock Converse API 的 Spring AI 应用,升级后优先跑一次工具调用路径验证选项转换。

来源:Building AI Agents with Embabel, Spring AI and Amazon Bedrock AgentCore - Part 4 - DEV Community

复制全文 生成海报 Java Spring AI AWS

推荐文章

程序员茄子在线接单