first commit
This commit is contained in:
@@ -0,0 +1,110 @@
|
||||
|
||||
<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)
|
||||
Reference in New Issue
Block a user