跳到主要内容

Spring AI快速入门实战

很多人第一次接触大模型开发,脑子里都会冒出一个问题:在Java项目里怎么跟AI对话?是不是要自己拼HTTP请求、解析JSON、处理各种异常?

其实完全不用这么麻烦。Spring官方团队专门搞了一套叫Spring AI的框架,目的就是让Java开发者能像调用普通Service一样调用大模型。今天咱们就从零开始,跑通第一个AI对话程序。

为什么选择Spring AI

在动手之前,先聊聊为什么要用Spring AI,而不是自己撸HTTP请求。

你可能想过用HttpClient直接调API:

// 自己拼接HTTP请求调大模型,看着就累
HttpClient client = HttpClient.newHttpClient();
String requestBody = """
{
"model": "qwen-plus",
"messages": [{"role": "user", "content": "你好"}]
}
""";
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.example.com/chat"))
.header("Authorization", "Bearer " + apiKey)
.POST(HttpRequest.BodyPublishers.ofString(requestBody))
.build();
// 还要处理响应解析、异常、重试...

这种写法有几个问题:

  • 代码量大:每次调用都要组装请求体、设置Header、解析响应
  • 没有复用性:换个模型厂商,代码几乎要重写
  • 功能受限:流式输出、对话记忆、工具调用这些高级功能实现起来很痛苦

Spring AI就是来解决这些问题的。它把各种大模型的API差异屏蔽掉了,你只需要面向统一的接口编程,底层对接的是OpenAI还是DeepSeek,代码基本不用改。

环境准备

在开始写代码之前,确保你的开发环境满足以下条件:

环境要求
  • JDK 17及以上版本(Spring AI要求的最低版本)
  • Maven或Gradle构建工具
  • 一个大模型的API Key

获取API Key的方式参考硅基流动章节中apiKey的设置

示例中项目地址

付费内容提示

该文档的全部内容仅对「JavaUp项目实战&技术讲解」知识星球用户开放

加入星球后,你可以获得:

  • 超级八股文:100万+字的全栈技术知识库,涵盖技术核心、数据库、中间件、分布式等深度剖析的讲解
  • 讲解文档:超级AI智能体、黑马点评Plus、大麦、大麦pro、大麦AI、流量切换、数据中台的从0到1的详细文档
  • 讲解视频:超级AI智能体、黑马点评Plus、大麦、大麦pro、大麦AI、流量切换、数据中台的核心业务详细讲解
  • 1 对 1 解答:可以对我进行1对1的问题提问,而不仅仅只限于项目
  • 针对性服务:有没理解的地方,文档或者视频还没有讲到可以提出,本人会补充
  • 面试与简历指导:提供面试回答技巧,项目怎样写才能在简历中具有独特的亮点
  • 中间件环境:对于项目中需要使用的中间件,可直接替换成我提供的云环境
  • 面试后复盘:小伙伴去面试后,如果哪里被面试官问住了,可以再找我解答
  • 远程的解决:如果在启动项目遇到问题,本人可以帮你远程解决
进入星球后,即可享受上述所有服务,保证不会再有其他隐藏费用。
知识星球二维码

1. 打开微信 -> 扫描左侧二维码 -> 加入「JavaUp项目实战&技术讲解」知识星球

2. 查看星球使用指导,获取完整项目讲解资料索引

👉 点击解锁全部付费内容
🎁优惠