2. 项目总览

3 min

1. 业务需求

实战项目是一个 多用户 AI 对话系统,核心功能如下:

  • 用户系统:支持注册和登录,每个用户的数据相互隔离
  • 话题管理:用户可以创建多个对话话题,每个话题独立维护消息上下文
  • AI 对话:用户发送消息后,系统调用 AI 模型生成回复,支持流式输出(打字机效果)
  • 消息持久化:所有对话记录保存到数据库,刷新页面不丢失

2. 技术栈

2.1 后端技术选型

技术 用途
Java 25 开发语言
Spring Boot 4.x 应用框架
Spring WebFlux 响应式 Web 框架,支持 SSE 流式响应
R2DBC + H2 响应式数据库访问
Spring AI + Ollama AI 模型调用
Spring Security 安全框架
JJWT JWT Token 生成与验证
spring-boot-starter-webflux-test WebFlux 测试(JUnit 5 + WebTestClient)
spring-boot-starter-data-r2dbc-test R2DBC 测试(StepVerifier)

2.2 前端技术选型

技术 用途
Vue 3 前端框架(Composition API + TypeScript)
Vite 构建工具
DaisyUI UI 组件库(基于 Tailwind CSS)
Axios HTTP 请求
Vue Router 前端路由
Pinia 状态管理

2.3 基础设施

技术 用途
Ollama 本地运行 AI 模型(如 Qwen、Llama 等)
H2 Database 嵌入式数据库(开发环境,可替换为 PostgreSQL)
Docker 容器化部署

3. 项目结构

前后端项目放在同一个仓库下,方便统一管理:

text
ai-chat/
├── ai-chat-backend/      # Spring Boot 后端项目
└── ai-chat-frontend/     # Vue 3 前端项目

4. 系统架构

系统架构图

5. 前置要求

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

  • JDK 25
  • Node.js 18+
  • Ollama 已安装并运行(用于本地 AI 模型),可以参考 Ollama 快速入门 进行安装和配置。

6. 专栏概述

整个专栏分为 4 个阶段,每个阶段结束都有可运行的成果:

阶段一:项目骨架 搭建前后端项目,配置开发环境,验证基础通信。完成后你有一个能跑的空项目。

阶段二:用户系统 实现注册、登录、JWT 认证。完成后前端能登录,后端能识别用户身份。

阶段三:核心功能 接入 Spring AI,实现话题管理和 AI 对话。完成后你有一个功能完整的聊天系统。

阶段四:总结 回顾架构,探讨扩展方向。

7. 小结

梳理了系统需求、技术选型和整体架构。

知识点 说明
业务需求 多用户 AI 对话系统:用户系统、话题管理、AI 对话、消息持久化
后端技术栈 Spring Boot 4 + WebFlux + R2DBC + H2 + Spring AI + Spring Security
前端技术栈 Vue 3 + Vite + DaisyUI + Axios + Vue Router + Pinia
项目结构 前后端分离,同仓库管理,HTTP + SSE 通信
专栏阶段 项目骨架 -> 用户系统 -> 核心功能 -> 总结,每阶段有可运行成果

接下来介绍后端项目初始化,搭建 Spring Boot 4 项目骨架并配置基础依赖。