0493f397ab4490eb9e5907d21382aec1508bc27c
基于 JDK 17、Spring Boot 3.3.2、Spring Security 6、JWT、Redis、MyBatis-Plus、Knife4j 构建的前后端分离单体业务系统。
项目概况
- 开发框架:Spring Boot 3.3.2 + Spring Security 6 + MyBatis-Plus 3.5.7
- 安全认证:Spring Security + JWT 无状态认证,部分接口白名单免登录
- 权限管理:基于 RBAC 模型,细粒度控制到接口方法和按钮级别
- 功能模块:用户管理、角色管理、菜单管理、部门管理、字典管理、代码生成、文件管理、邮件、短信、支付(支付宝/微信)等
- 接口文档:Knife4j 自动生成,支持在线调试
项目目录
src/main/java/com/ichangzuo/
iczApplication.java # 启动类
common/ # 公共模块:注解、常量、枚举、异常、工具类
config/ # 自动装配配置(CORS、Redis、Security、Swagger 等)
core/ # 核心功能:切面(日志、防重提交)、过滤器、Security
module/ # 业务模块
auth/ # 认证模块
codegen/ # 代码生成器
file/ # 文件模块
mail/ # 邮件模块
sms/ # 短信模块
websocket/ # WebSocket 模块
system/ # 系统管理模块:用户、角色、菜单、部门、字典等
controller/
converter/ # MapStruct 转换器
event/ # 事件处理
handler/
listener/
model/ # bo, dto, entity, form, query, vo
mapper/
service/
技术选型
| 技术 | 版本 | 说明 |
|---|---|---|
| JDK | 17 | |
| Spring Boot | 3.3.2 | 开发框架 |
| Spring Security | 6 | 安全认证 |
| MyBatis-Plus | 3.5.7 | ORM 框架 |
| Knife4j | 4.5.0 | 接口文档 |
| MapStruct | 1.5.5.Final | 对象映射 |
| Druid | 1.2.23 | 数据库连接池 |
| XXL-JOB | 2.4.2 | 定时任务 |
| Redisson | 3.30.0 | 分布式锁 |
环境依赖
- MySQL:数据库名
music,开发配置在application-dev.yml - Redis:端口 16378
- 运行时 Profile:
dev(默认):本地开发test:测试环境prod:生产环境
快速开始
1. 配置数据库
修改 src/main/resources/application-dev.yml 中的 MySQL、Redis 连接配置。
2. 启动项目
# 开发模式启动(使用 dev profile)
mvn spring-boot:run -P dev
3. 验证启动
访问接口文档地址 http://localhost:8989/doc.html 验证项目启动是否成功。
常用命令
# 开发模式启动
mvn spring-boot:run -P dev
# 打包(默认 dev)
mvn clean package
# 测试环境打包
mvn clean package -P test
# 生产环境打包
mvn clean package -P prod
# 运行测试
mvn test
# 跳过测试打包
mvn clean package -DskipTests
接口文档
knife4j接口文档:http://localhost:8989/doc.htmlswagger接口文档:http://localhost:8989/swagger-ui/index.html
Languages
Java
99.8%
Dockerfile
0.2%