Files
2026-06-12 03:54:23 +08:00

110 lines
3.5 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<div align="center">
<h2>server-java</h2>
<img alt="Java" src="https://img.shields.io/badge/Java-17-brightgreen.svg"/>
<img alt="SpringBoot" src="https://img.shields.io/badge/SpringBoot-3.3.2-green.svg"/>
<img alt="license" src="https://img.shields.io/badge/license-Apache%20License%202.0-blue.svg"/>
</div>
基于 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)