Appearance
01 篇导览:Spring AI 上手
这一篇解决一个问题:把「调用大模型」变成一件有类型、有配置、可测试、可替换的普通后端开发工作。
学完你能做什么
- 用 Spring AI 2.0 的
ChatClient搭出一个可配置的模型调用层 - 实现流式输出、多轮记忆、工具调用、结构化输出四个核心能力
- 用一套适配层同时接入多家国内模型厂商,切换只改配置
- 用假模型和 Testcontainers 写不烧钱的集成测试
- 交付一个能聊、会调工具、记得住上下文的小助手
章节地图
| 编号 | 主题 | 解决什么 |
|---|---|---|
| 01-01 | 基础概念与选型 | Token、上下文、模型能力边界与选型 |
| 01-02 | 第一个 ChatClient | 把模型调用变成 Spring Bean |
| 01-03 | 多模型适配层 | 一套代码切换三家厂商 |
| 01-04 | 流式输出 SSE | 回答一个字一个字地出来 |
| 01-05 | WebSocket 双向流 | 用户能随时打断模型 |
| 01-06 | 多轮对话与 Memory | 模型记住前面说过什么 |
| 01-07 | @Tool 工具调用 | 模型能调用你的 Java 方法 |
| 01-08 | 结构化输出 | 返回能直接反序列化的对象 |
| 01-09 | PromptTemplate 外部化 | 把提示词当代码管起来 |
| 01-10 | 异常处理与重试 | 模型会挂,这是常态 |
| 01-11 | 集成测试与假模型 | 不烧钱也能测 AI 代码 |
| 01-12 | 小节项目 | 组装一个完整的小助手 |
阅读路径建议
| 你的角色 | 建议 |
|---|---|
| 第一次接触 Spring AI | 01-01 → 01-02 → 01-07 → 01-12 |
| 已有 1.x 经验要迁移 | 重点看 01-02、01-07 的 2.x 差异块,再看 99-05 变更日志 |
| 只关心能不能上生产 | 01-03 适配层 + 01-10 重试 + 01-11 测试 |
一条贯穿全篇的判断:Spring AI 的价值不在「帮你发 HTTP 请求」,而在把模型调用纳入 Spring 的配置、Bean 生命周期和测试体系。如果只把
ChatClient当 HTTP 客户端用,就浪费了这套框架最核心的部分。
对应 Demo
java-ai-starter,每章对应一个 git tag,命名规则 ch01-XX-xxx。