这是一个展示如何将 Vue 3 + Vite 前端与 Spring Boot 后端集成的示例项目,采用前后端不分离的架构。
- Spring Boot 5.3.19
- Spring Web MVC
- Jetty 服务器
- Jackson JSON 处理
- Vue 3
- Vue Router 4
- Vite 构建工具
- Axios HTTP 客户端
demo-spring5/
├── frontend/ # Vue 前端项目
│ ├── src/
│ │ ├── components/ # Vue 组件
│ │ ├── App.vue # 根组件
│ │ └── main.js # 入口文件
│ ├── index.html # HTML 模板
│ ├── package.json # 前端依赖
│ └── vite.config.js # Vite 配置
├── src/main/java/ # Java 后端代码
├── src/main/resources/static/ # 构建后的前端资源
├── build.sh # 构建脚本
├── dev.sh # 开发脚本
└── pom.xml # Maven 配置
确保已安装:
- Java 11 或更高版本
- Node.js 16 或更高版本
- Maven 3.6 或更高版本
# 启动开发环境(前端热重载 + 后端)
./dev.sh这将同时启动:
- 前端开发服务器:http://localhost:3000
- 后端服务器:http://localhost:8080
# 构建整个应用
./build.sh
# 运行构建后的应用
mvn exec:java -Dexec.mainClass="com.dddpeter.app.WebApp"前端代码位于 frontend/ 目录,使用 Vite 作为构建工具:
cd frontend
npm install # 安装依赖
npm run dev # 开发模式
npm run build # 生产构建后端使用 Spring Boot,主要文件:
WebApp.java- 应用入口AppWebConfig.java- Web 配置IndexController.java- API 控制器TestService.java- 业务服务
- 构建集成:Vite 构建输出到
src/main/resources/static/目录 - 路由支持:Spring 配置了视图控制器,支持 Vue Router 的 History 模式
- API 代理:开发模式下,前端通过 Vite 代理访问后端 API
GET /api/- 获取欢迎消息GET /api/health- 健康检查
- ✅ 前后端不分离架构
- ✅ 热重载开发体验
- ✅ 现代化 UI 设计
- ✅ 响应式布局
- ✅ 单页应用路由
- ✅ RESTful API 集成
- 运行
./build.sh构建项目 - 将生成的 JAR 文件部署到服务器
- 启动应用:
java -jar target/demo-spring5-1.0-SNAPSHOT.jar
MIT License