手把手搭建 Spring AI 开发环境:依赖引入、版本选择、项目初始化
专栏导读本专栏为Spring AI 科普实战系列从框架认知、环境搭建、基础对话、流式输出、会话记忆、函数调用到 RAG 知识库全方位讲解 Spring 生态 AI 集成方案零基础 Java 开发者也可轻松上手。上一篇我们从原理和痛点层面搞懂了为什么要用 Spring AI。理论落地必须依赖实战想要玩转 Spring AI 所有智能能力第一步就是搭建一套稳定、规范、无坑的基础开发环境。很多新手初学 Spring AI 最容易踩坑的地方版本不匹配、依赖缺失、自动配置失效。本篇文章专门解决环境问题手把手带你完成版本选型、项目创建、依赖引入、配置编写、项目启动、接口测试。读完本篇你将拥有一个可以贯穿整个系列的通用 Spring AI 基础工程。一、前置环境与版本适配重点必看Spring AI 对版本要求比较严格版本不对直接启动报错这里直接给出生产通用稳定组合无脑抄即可。1. 基础环境要求JDK17 及以上Spring Boot3 强制要求构建工具Maven 3.8 / Gradle 7.5开发工具IDEA / Eclipse / VS Code 均可2. 稳定版本组合推荐本文及后续所有实战统一使用这套稳定版本兼容性最好、BUG 最少Spring Boot3.3.xSpring AI1.1.x 稳定版避坑提示不要强行使用最新的 Spring Boot 4.0、Spring AI 2.0 预览版新特性多、兼容问题多学习和落地优先稳定版。二、两种项目创建方式这里提供两种最常用的创建方式任选其一即可最终效果完全一致。方式一Spring Initializr 在线初始化推荐官方在线脚手架一键生成干净工程无需手动配置版本。访问官网start.spring.io参数配置ProjectMavenLanguageJavaSpring Boot Version3.3.x稳定版Java Version17包名、项目名自定义初始化完成后下载压缩包导入 IDEA 等待依赖加载完毕。方式二IDEA 本地直接创建打开 IDEA - New Project - 选择 Spring Initializr参数同上直接本地生成工程即可。三、引入 Spring AI 核心依赖MavenSpring AI 采用 版本统一管理 机制需要先在 pom.xml 中声明 Spring AI 版本再按需引入对应 Starter。完整可直接运行的 pom 核心配置如下propertiesmaven.compiler.source17/maven.compiler.sourcemaven.compiler.target17/maven.compiler.targetspring-ai.version1.1.4/spring-ai.version/properties!-- 统一版本管理 --dependencyManagementdependenciesdependencygroupIdorg.springframework.ai/groupIdartifactIdspring-ai-bom/artifactIdversion${spring-ai.version}/versiontypepom/typescopeimport/scope/dependency/dependencies/dependencyManagement!-- 核心依赖 --dependencies!-- Spring Web 必备用于写接口测试 --dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependency!-- Spring AI 核心基础包 --dependencygroupIdorg.springframework.ai/groupIdartifactIdspring-ai-starter-core/artifactId/dependency!-- 测试依赖 --dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-test/artifactIdscopetest/scope/dependency/dependencies依赖说明spring-ai-bom统一管理所有 Spring AI 子依赖版本避免版本冲突spring-ai-starter-coreSpring AI 核心基础能力包含 Prompt、ChatClient、Advisor 等顶层抽象spring-boot-starter-web用于开发 Web 接口方便后续接口测试四、全局配置文件说明Spring AI 所有模型密钥、超时时间、模型参数全部统一在 application.yml / application.properties 中配置。本次环境搭建无需配置任何 AI 密钥仅保证项目结构正常即可后续对接模型会逐一补充配置。初始默认空配置即可干净无干扰。五、项目结构预览标准规范这里先统一整套系列的项目结构后续所有实战代码全部遵循该规范com.ai.demo ├── config // AI 配置类 ├── controller // 接口层 ├──service// 业务层 ├── entity // 实体类 └── AiDemoApplication.java // 启动类六、环境校验编写第一个 AI 测试接口为了验证我们的环境是否搭建成功我们注入 Spring AI 核心的 ChatClient编写一个最简单的测试接口。1. 编写测试 Controllerpackage com.ai.demo.controller;importorg.springframework.ai.chat.client.ChatClient;importorg.springframework.web.bind.annotation.GetMapping;importorg.springframework.web.bind.annotation.RestController;RestController public class AiTestController{// 注入 Spring AI 核心客户端 private final ChatClient chatClient;public AiTestController(ChatClient.Builder chatClientBuilder){this.chatClientchatClientBuilder.build();}GetMapping(/ai/test)public Stringtest(){returnSpring AI 环境搭建成功等待接入大模型能力...;}}2. 启动项目验证运行启动类观察控制台无报错、项目正常启动 即为环境搭建成功。浏览器访问http://localhost:8080/ai/test页面输出Spring AI 环境搭建成功等待接入大模型能力…七、新手常见环境报错与解决1. JDK 版本不匹配报错关键词class file has wrong version解决方案项目、模块、编译器全部统一设置为 JDK17。2. 依赖无法导入、报红解决方案刷新 Maven、检查网络、确认 spring-ai-bom 版本书写正确。3. 启动提示自动配置失效解决方案必须使用 Spring Boot3.x不能使用 Spring Boot2.xSpring AI 不兼容低版本。八、本篇总结本篇我们完成了 Spring AI 全套基础环境搭建确定了统一版本规范、统一项目结构、导入了核心依赖并通过接口验证了工程可用性。目前我们的项目已经具备 Spring AI 完整运行基础后续所有的对话问答、流式输出、RAG、函数调用、记忆会话全部基于当前工程迭代开发。下一篇Spring AI 实战快速接入通义千问、OpenAI实现基础对话问答我们将正式接入大模型实现第一个真正的 AI 智能问答功能

相关新闻

Mac版Word页码设置全攻略:从第K页开始编号与分节符详解

Mac版Word页码设置全攻略:从第K页开始编号与分节符详解

1. 问题缘起:一个看似简单却困扰无数人的需求如果你在Mac上使用Word撰写报告、论文或者任何需要分页排版的文档,大概率会遇到一个经典问题:如何让页码从正文部分,比如第三页,才开始显示为“1”?封面和目录页…

2026/8/7 12:51:02 阅读更多 →
综合实践:企业网站上云部署实践

综合实践:企业网站上云部署实践

综合实践:企业网站上云部署实践 一、背景与方案设计 1.1 业务需求 数据节点与业务节点分离支持动态调整服务器数量(弹性伸缩)自动流量分发到多台服务器(负载均衡)使用云监控服务监控业务状态 1.2 解决方案需求解决方案…

2026/8/7 12:51:02 阅读更多 →
Spark SQL语法执行顺序

Spark SQL语法执行顺序

在 Spark SQL 中,一条 SQL 语句(尤其是查询语句)的书写顺序和逻辑执行顺序并不相同。理解它们的先后关系,是写出正确、高效 SQL 的关键。Spark SQL 遵循 SQL 标准,同时因为基于 Catalyst 优化器,实际物理执行可能会被重排,但逻辑执行顺序是确定的。 1. 书写顺序(我们看…

2026/8/7 12:51:02 阅读更多 →

最新新闻

whenwords高级技巧:自定义选项与多语言扩展实战

whenwords高级技巧:自定义选项与多语言扩展实战

whenwords高级技巧:自定义选项与多语言扩展实战 【免费下载链接】whenwords A relative time formatting library, with no code. 项目地址: https://gitcode.com/gh_mirrors/wh/whenwords whenwords是一个功能强大的时间格式化库,它能够将时间戳…

2026/8/7 22:04:13 阅读更多 →
ADR开源生态:贡献代码与参与社区建设

ADR开源生态:贡献代码与参与社区建设

ADR开源生态:贡献代码与参与社区建设 【免费下载链接】ADR ADR secures enterprise AI agents through observability, security benchmarking, and threat detection. Deployed at Uber. 项目地址: https://gitcode.com/GitHub_Trending/adr10/ADR ADR&…

2026/8/7 22:04:13 阅读更多 →
Python Ring Doorbell高级技巧:录制视频下载与存储最佳实践

Python Ring Doorbell高级技巧:录制视频下载与存储最佳实践

Python Ring Doorbell高级技巧:录制视频下载与存储最佳实践 【免费下载链接】python-ring-doorbell Python Ring Door Bell is a library written in Python 3 that exposes the Ring.com devices as Python objects. 项目地址: https://gitcode.com/gh_mirrors/p…

2026/8/7 22:04:13 阅读更多 →
Tauthon完全指南:Python 2.7的终极升级,融合Python 3强大特性

Tauthon完全指南:Python 2.7的终极升级,融合Python 3强大特性

Tauthon完全指南:Python 2.7的终极升级,融合Python 3强大特性 【免费下载链接】tauthon Fork of Python 2.7 with new syntax, builtins, and libraries backported from Python 3. 项目地址: https://gitcode.com/gh_mirrors/ta/tauthon Tauthon…

2026/8/7 22:04:13 阅读更多 →
electron-window-state核心功能解析:自动保存与恢复窗口状态的完整方案

electron-window-state核心功能解析:自动保存与恢复窗口状态的完整方案

electron-window-state核心功能解析:自动保存与恢复窗口状态的完整方案 【免费下载链接】electron-window-state A library to store and restore window sizes and positions for your Electron app 项目地址: https://gitcode.com/gh_mirrors/el/electron-windo…

2026/8/7 22:04:13 阅读更多 →
Arm Optimized Routines贡献指南:从签署协议到提交PR的完整流程

Arm Optimized Routines贡献指南:从签署协议到提交PR的完整流程

Arm Optimized Routines贡献指南:从签署协议到提交PR的完整流程 【免费下载链接】optimized-routines Optimized implementations of various library functions for ARM architecture processors 项目地址: https://gitcode.com/gh_mirrors/op/optimized-routine…

2026/8/7 22:03:12 阅读更多 →

日新闻

为什么scrcpy成为Android投屏的终极解决方案:完整实战指南

为什么scrcpy成为Android投屏的终极解决方案:完整实战指南

为什么scrcpy成为Android投屏的终极解决方案:完整实战指南 【免费下载链接】scrcpy Display and control your Android device 项目地址: https://gitcode.com/GitHub_Trending/sc/scrcpy 想要将Android手机屏幕完美投射到电脑上,享受大屏操作的自…

2026/8/7 0:00:19 阅读更多 →
如何在5分钟内掌握Tom Select:打造现代化表单选择器的终极指南

如何在5分钟内掌握Tom Select:打造现代化表单选择器的终极指南

如何在5分钟内掌握Tom Select:打造现代化表单选择器的终极指南 【免费下载链接】tom-select Tom Select is a lightweight (~16kb gzipped) hybrid of a textbox and select box. Forked from selectize.js to provide a framework agnostic autocomplete widget wi…

2026/8/7 0:00:19 阅读更多 →
5分钟快速上手:NSZ压缩工具终极指南,轻松管理Switch游戏文件

5分钟快速上手:NSZ压缩工具终极指南,轻松管理Switch游戏文件

5分钟快速上手:NSZ压缩工具终极指南,轻松管理Switch游戏文件 【免费下载链接】nsz NSZ - Homebrew compatible NSP/XCI compressor/decompressor 项目地址: https://gitcode.com/gh_mirrors/ns/nsz 你是否在为Nintendo Switch游戏文件占用大量存储…

2026/8/7 0:00:19 阅读更多 →

周新闻

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

1. 从水管网络到最大流:一个核心问题的诞生想象一下,你是一个城市供水系统的总工程师。你的城市有多个水源(水库),需要通过一个复杂的地下管道网络,将水输送到各个居民区。每条管道都有其最大通水能力&…

2026/8/6 22:02:27 阅读更多 →
基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…

2026/8/6 22:02:27 阅读更多 →
MATLAB xcorr函数详解:从互相关原理到四大实战应用

MATLAB xcorr函数详解:从互相关原理到四大实战应用

1. 从一次信号“找茬”说起:为什么我们需要互相关几年前,我在处理一组声学传感器数据时遇到了一个棘手的问题。我有两个麦克风记录了一段相同的音频信号,理论上它们接收到的声音波形应该非常相似,只是由于麦克风位置不同&#xff…

2026/8/6 22:02:27 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/7 17:02:37 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/6 22:02:28 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/7 17:02:36 阅读更多 →