server-java

Java SpringBoot license
基于 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. 启动项目 ```bash # 开发模式启动(使用 dev profile) mvn spring-boot:run -P dev ``` ### 3. 验证启动 访问接口文档地址 [http://localhost:8989/doc.html](http://localhost:8989/doc.html) 验证项目启动是否成功。 ## 常用命令 ```bash # 开发模式启动 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.html](http://localhost:8989/doc.html) - `swagger` 接口文档:[http://localhost:8989/swagger-ui/index.html](http://localhost:8989/swagger-ui/index.html)