# scaffold-springboot **Repository Path**: javaweb-dev-tech/scaffold-springboot ## Basic Information - **Project Name**: scaffold-springboot - **Description**: 《软件开发综合项目实训》课程脚手架 · Spring Boot 3 + Vue 3。学生可基于此脚手架快速启动课程项目。 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-07-24 - **Last Updated**: 2026-07-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Scaffold Spring Boot 3 课程脚手架 > 面向软件项目实训课程的 Spring Boot 3 后端脚手架,内置用户认证(JWT)、CRUD 示例、分页、统一响应、全局异常处理,开箱即用,便于学生在其上扩展业务模块。 本工程为**课程教学脚手架**,定位是「最小可运行的真实工程模板」,不追求生产级完备性,但严格遵循分层与工程规范,方便教学演示与学生改造。 --- ## 5 分钟上手 ### 1. 环境准备 - JDK 17+ - Maven 3.9+ - MySQL 8.0+(或使用 `deploy/docker-compose.yml` 一键起 MySQL) - (可选)Node 18+ 用于前端(前端由另一子工程提供) ### 2. 初始化数据库 ```bash # 方式 A:手动导入 mysql -uroot -proot < sql/init.sql # 方式 B:启动应用时由 Flyway 自动迁移(推荐) # application-dev.yml 已开启 flyway,应用启动即自动建表并写入示例数据 ``` 数据库名 `scaffold`,默认账号 `root` / 密码 `root`。 ### 3. 跑后端 ```bash cd backend mvn spring-boot:run # 默认地址 http://localhost:8080 # 默认管理员账号:admin / admin123 ``` ### 4. 跑前端 前端工程位于 `frontend/`(由另一子代理负责),进入目录后: ```bash cd frontend npm install npm run dev # 默认 http://localhost:5173 ``` ### 5. Docker 部署(含 MySQL + 后端 + 前端 + Nginx) ```bash cd deploy docker compose up -d --build # Nginx 入口 http://localhost # /api/* -> backend:8080 # / -> frontend ``` --- ## 目录结构 ``` scaffold-springboot/ ├── backend/ # Spring Boot 后端 │ ├── pom.xml │ ├── Dockerfile │ └── src/ │ ├── main/ │ │ ├── java/com/course/scaffold/ │ │ │ ├── ScaffoldApplication.java │ │ │ ├── common/ # 统一响应、异常 │ │ │ ├── config/ # Web、MyBatis-Plus 配置 │ │ │ ├── security/ # JWT、拦截器、注解 │ │ │ ├── module/ │ │ │ │ ├── auth/ # 认证示例(登录/注册/me) │ │ │ │ └── demo/ # CRUD 示例 │ │ │ └── util/ # 工具类 │ │ └── resources/ │ │ ├── application.yml / -dev.yml / -prod.yml │ │ └── db/migration/V1__init_schema.sql │ └── test/ ├── deploy/ # 部署编排 │ ├── docker-compose.yml │ └── nginx/default.conf ├── sql/init.sql # 手动建库脚本 ├── api/scaffold.postman_collection.json ├── docs/ # 实训文档骨架 ├── AGENTS.md # AI 协作规则 └── README.md ``` --- ## 技术栈 | 类别 | 选型 | 版本 | | ---- | ---- | ---- | | 语言/框架 | JDK + Spring Boot | 17 / 3.2.5 | | 构建 | Maven | 3.9+ | | ORM | MyBatis-Plus | 3.5.5 | | 数据库 | MySQL | 8.0 | | 连接池 | Druid | 1.2.20 | | 鉴权 | JJWT | 0.12.5 | | 数据库迁移 | Flyway | 9.22.3 | | 工具 | Lombok / Jackson | 随 Spring Boot | | 测试 | JUnit 5 | 随 Spring Boot | --- ## 常用命令 ```bash # 后端开发 cd backend && mvn spring-boot:run # 打包 cd backend && mvn clean package -DskipTests # 运行 jar java -jar backend/target/scaffold-0.0.1-SNAPSHOT.jar --spring.profiles.active=prod # Docker 一键启动 cd deploy && docker compose up -d --build # 查看日志 docker compose -f deploy/docker-compose.yml logs -f backend ``` --- ## 课程脚手架定位说明 本工程为**实训课程示例工程**,仅提供通用基础设施与一个 CRUD 示例,供学生: 1. 学习分层架构与工程规范; 2. 在 `module/` 下仿照 `demo` 模块扩展自己的业务(如图书、商品、订单); 3. 完成需求分析、设计、测试、部署等完整实训环节。 密码使用 MD5 仅为简化教学,**生产环境请替换为 BCrypt**。