docs: 优化 README 文档结构和内容

This commit is contained in:
Ray.Hao
2026-03-04 10:30:28 +08:00
parent 51efe841c7
commit 9d117ce884

242
README.md
View File

@@ -1,16 +1,16 @@
<div align="center"> <div align="center">
<img alt="logo" width="100" height="100" src="https://foruda.gitee.com/images/1733417239320800627/3c5290fe_716974.png"> <img alt="logo" width="100" height="100" src="https://foruda.gitee.com/images/1733417239320800627/3c5290fe_716974.png">
<h2>youlai-boot</h2> <h2>youlai-boot</h2>
<img alt="有来技术" src="https://img.shields.io/badge/Java -17-brightgreen.svg"/> <img alt="Java" src="https://img.shields.io/badge/Java-17-brightgreen.svg"/>
<img alt="有来技术" src="https://img.shields.io/badge/SpringBoot-4.0.1-green.svg"/> <img alt="Spring Boot" src="https://img.shields.io/badge/SpringBoot-4.0.1-green.svg"/>
<a href="https://gitcode.com/youlai/youlai-boot" target="_blank"> <a href="https://gitcode.com/youlai/youlai-boot" target="_blank">
<img alt="有来技术" src="https://gitcode.com/youlai/youlai-boot/star/badge.svg"/> <img alt="GitCode" src="https://gitcode.com/youlai/youlai-boot/star/badge.svg"/>
</a> </a>
<a href="https://gitee.com/youlaiorg/youlai-boot" target="_blank"> <a href="https://gitee.com/youlaiorg/youlai-boot" target="_blank">
<img alt="有来技术" src="https://gitee.com/youlaiorg/youlai-boot/badge/star.svg"/> <img alt="Gitee" src="https://gitee.com/youlaiorg/youlai-boot/badge/star.svg"/>
</a> </a>
<a href="https://github.com/haoxianrui/youlai-boot" target="_blank"> <a href="https://github.com/haoxianrui/youlai-boot" target="_blank">
<img alt="有来技术" src="https://img.shields.io/github/stars/haoxianrui/youlai-boot.svg?style=social&label=Stars"/> <img alt="GitHub" src="https://img.shields.io/github/stars/haoxianrui/youlai-boot.svg?style=social&label=Stars"/>
</a> </a>
</div> </div>
@@ -22,161 +22,169 @@
<a target="_blank" href="https://www.youlai.tech/youlai-boot">🌐 官网</a> <a target="_blank" href="https://www.youlai.tech/youlai-boot">🌐 官网</a>
</p> </p>
---
## 📢 项目简介 ## 📢 项目简介
基于 JDK 17、Spring Boot 4、Spring Security(随 Spring Boot 4.x 基于 JDK 17、Spring Boot 4、Spring Security、JWT、Redis、MyBatis-Plus、Vue 3、Element Plus 构建的前后端分离权限管理系统。
、JWT、Redis、Mybatis-Plus、Vue 3、Element-Plus 构建的前后端分离单体权限管理系统
。 [Mybatis-Flex 版本](https://gitee.com/youlaiorg/youlai-boot-flex)
- **🚀 开发框架**: 使用 Spring Boot 4 和 Vue 3以及 Element-Plus 等主流技术栈, [MyBatis-Flex 版本](https://gitee.com/youlaiorg/youlai-boot-flex)
实时更新。
- **🔐 安全认证**: 基于 Spring Security 原生架构,集成 JWT 令牌自动续期(无状态 **核心特性**
)和 Redis 会话多端互斥管理(实时强制离线)双重认证机制,构建企业级身份安全中
枢。
- **🔑 权限管理**: 基于 RBAC 模型,实现细粒度的权限控制,涵盖接口方法和按钮级别 - **🚀 技术栈**Spring Boot 4 + Vue 3 + Element Plus持续跟进最新版本
- **🛠️ 功能模块**: 包括用户管理、角色管理、菜单管理、部门管理、字典管理等功能。 - **🔐 安全认证**Spring Security + JWT 无状态认证 + Redis 会话管理,支持令牌自动续期和多端互斥
- **🔑 权限控制**RBAC 模型,接口级 + 按钮级细粒度权限
- **🛠️ 功能模块**:用户、角色、菜单、部门、字典管理等基础模块
## 🌈 项目源码 ## 🌈 项目源码
| 项目类型 | Gitee | Github | GitCode | | 项目 | Gitee | GitHub | GitCode |
| -------------- | ---------------------------------------------------------------------- | ------------------------------------------------------------------------ | --------------------------------------------------------------------- | |------|-------|--------|---------|
| Java 后端 | [youlai-boot](https://gitee.com/youlaiorg/youlai-boot) | [youlai-boot](https://github.com/haoxianrui/youlai-boot) | [youlai-boot](https://gitcode.com/youlai/youlai-boot) | | Java 后端 | [youlai-boot](https://gitee.com/youlaiorg/youlai-boot) | [youlai-boot](https://github.com/haoxianrui/youlai-boot) | [youlai-boot](https://gitcode.com/youlai/youlai-boot) |
| vue3 前端 | [vue3-element-admin](https://gitee.com/youlaiorg/vue3-element-admin) | [vue3-element-admin](https://github.com/youlaitech/vue3-element-admin) | [vue3-element-admin](https://gitcode.com/youlai/vue3-element-admin) | | Vue 3 前端 | [vue3-element-admin](https://gitee.com/youlaiorg/vue3-element-admin) | [vue3-element-admin](https://github.com/youlaitech/vue3-element-admin) | [vue3-element-admin](https://gitcode.com/youlai/vue3-element-admin) |
| uni-app 移动端 | [vue-uniapp-template](https://gitee.com/youlaiorg/vue-uniapp-template) | [vue-uniapp-template](https://github.com/youlaitech/vue-uniapp-template) | [vue-uniapp-template](https://gitcode.com/youlai/vue-uniapp-template) | | uni-app 移动端 | [vue-uniapp-template](https://gitee.com/youlaiorg/vue-uniapp-template) | [vue-uniapp-template](https://github.com/youlaitech/vue-uniapp-template) | [vue-uniapp-template](https://gitcode.com/youlai/vue-uniapp-template) |
## 📚 项目文档 ## 📚 项目文档
| 文档名称 | 访问地址 | | 文档 | 地址 |
| ------------------------- | ---------------------------------------------------------------------------------------------------------------- | |------|------|
| 在线接口文档 | [https://www.apifox.cn/apidoc](https://www.apifox.cn/apidoc/shared-195e783f-4d85-4235-a038-eec696de4ea5) | | 在线接口文档 | [Apifox](https://www.apifox.cn/apidoc/shared-195e783f-4d85-4235-a038-eec696de4ea5) |
| 项目介绍与使用指南 | [https://www.youlai.tech/youlai-boot/](https://www.youlai.tech/youlai-boot/) | | 官方文档 | [youlai.tech](https://www.youlai.tech/youlai-boot/) |
| 功能详解与操作手册 | [https://youlai.blog.csdn.net/article/details/145178880](https://youlai.blog.csdn.net/article/details/145178880) | | 功能详解 | [CSDN](https://youlai.blog.csdn.net/article/details/145178880) |
| 新手入门指南(项目 0 到 1) | [https://youlai.blog.csdn.net/article/details/145177011](https://youlai.blog.csdn.net/article/details/145177011) | | 入门指南 | [CSDN](https://youlai.blog.csdn.net/article/details/145177011) |
## 📁 项目目录 ## 📁 项目目录
<details> <details>
<summary> 目录结构 </summary> <summary>展开目录结构</summary>
<br>
``` ```
youlai-boot youlai-boot
├── docker # Docker 目录 ├── docker/ # Docker 部署
│ ├── docker-compose.yml # docker-compose 脚本 │ ├── minio/ # MinIO 对象存储
├── sql # SQL脚本 ├── mysql/ # MySQL 数据库
│ ├── mysql # MySQL 脚本 │ ├── postgres/ # PostgreSQL 数据库
├── src # 源码目录 │ ├── redis/ # Redis 缓存
│ ├── auth # 认证模块(登录入口) │ ├── xxljob/ # XXL-JOB 调度中心
── common # 公共模块 ── docker-compose.yml # 容器编排脚本
├── annotation # 注解定义 ├── sql/ # 数据库脚本
│ ├── base # 基础类 └── mysql/ # MySQL 初始化脚本
│ │ ├── constant # 常量 ├── src/main/java/com/youlai/boot/
│ ├── enums # 枚举类型 │ ├── auth/ # 认证模块
│ ├── model # 数据模型 │ ├── common/ # 公共模块
│ │ ── util # 工具类 │ │ ── annotation/ # 自定义注解
│ ├── config # 自动装配配置 │ ├── base/ # 基础类
│ │ ── property # 配置属性目录 │ │ ── constant/ # 常量定义
│ ├── core # 核心框架 │ ├── enums/ # 枚举类型
│ │ ├── aspect # 切面(日志、防重提交) │ │ ├── model/ # 公共模型
│ │ ── exception # 异常处理 │ │ ── util/ # 工具类
│ ├── filter # 过滤器(请求日志、限流) │ ├── config/ # 配置模块
│ │ ── validator # 验证器 │ │ ── property/ # 配置属性
│ └── web # Web响应封装(Result、PageResult等) ├── core/ # 核心模块
│ ├── infra # 基础服务 │ ├── aspect/ # AOP 切面(日志、防重)
│ │ ├── codegen # 代码生成模块 │ │ ├── exception/ # 全局异常处理
│ │ ├── file # 文件服务 │ │ ├── filter/ # 过滤器(日志、限流)
│ │ ├── mail # 邮件服务 │ │ ├── validator/ # 参数校验
│ │ ── sms # 短信服务 │ │ ── web/ # 响应封装
│ └── websocket # WebSocket服务 ├── file/ # 文件服务
│ ├── plugin # 插件扩展 │ ├── controller/ # 文件接口
│ │ ├── knife4j # Knife4j 扩展 │ │ ├── model/ # 文件模型
│ │ └── mybatis # Mybatis 扩展 │ │ └── service/ # 文件逻辑
│ ├── security # 安全框架Spring Security │ ├── plugin/ # 插件扩展
│ │ ├── exception # 安全异常 │ │ ├── knife4j/ # 接口文档增强
│ │ ── filter # 安全过滤器 │ │ ── mybatis/ # MyBatis 扩展
│ ├── handler # 安全处理器 │ ├── security/ # 安全模块
│ │ ├── model # 安全模型 │ │ ├── exception/ # 安全异常
│ │ ├── provider # 认证提供者 │ │ ├── filter/ # 安全过滤器
│ │ ├── service # 安全服务 │ │ ├── handler/ # 安全处理器
│ │ ├── token # Token管理 │ │ ├── model/ # 安全模型
│ │ ── util # 安全工具类 │ │ ── provider/ # 认证提供者
│ ├── system # 系统模块 │ ├── service/ # 安全服务
│ │ ├── controller # 控制层 │ │ ├── token/ # Token 管理
│ │ ── converter # MapStruct 转换器 │ │ ── util/ # 安全工具
│ ├── enums # 枚举 │ ├── support/ # 支撑服务
│ │ ├── handler # 处理器 │ │ ├── mail/ # 邮件服务
│ │ ├── listener # 监听器 │ │ ├── sms/ # 短信服务
│ │ ── mapper # 数据库访问层 │ │ ── websocket/ # WebSocket 服务
│ ├── model # 模型层 │ ├── system/ # 系统模块
│ │ │ ├── bo # 业务对象 │ │ ├── controller/ # 控制器
│ │ │ ├── dto # 数据传输对象 │ │ ├── converter/ # 对象转换器
│ │ ├── entity # 实体对象 │ │ ├── enums/ # 枚举定义
│ │ │ ├── event # 事件对象 │ │ ├── handler/ # 业务处理器
│ │ │ ├── form # 表单对象 │ │ ├── listener/ # 事件监听器
│ │ │ ├── query # 查询参数对象 │ │ ├── mapper/ # 数据访问层
│ │ │ └── vo # 视图对象 │ │ ├── model/ # 数据模型
│ │ └── service # 业务逻辑层 │ │ │ ├── bo/ # 业务对象
└── YouLaiBootApplication # 启动类 │ │ ├── dto/ # 传输对象
└── end │ │ │ ├── entity/ # 实体对象
│ │ │ ├── event/ # 事件对象
│ │ │ ├── form/ # 表单对象
│ │ │ ├── query/ # 查询对象
│ │ │ └── vo/ # 视图对象
│ │ └── service/ # 业务逻辑层
│ ├── tool/ # 工具模块
│ │ └── codegen/ # 代码生成器
│ └── YouLaiBootApplication.java # 启动类
└── pom.xml # Maven 配置
``` ```
</details> </details>
## 🚀 项目启动 ## 🚀 快速开始
📚 完整流程参考: **详细文档**[项目启动指南](https://youlai.blog.csdn.net/article/details/145177011)
[项目启动](https://www.youlai.tech/youlai-boot/1.%E9%A1%B9%E7%9B%AE%E5%90%AF%E5%8A%A8/)
1. **克隆项目** ### 1. 克隆项目
```bash ```bash
git clone https://gitee.com/youlaiorg/youlai-boot.git git clone https://gitee.com/youlaiorg/youlai-boot.git
``` ```
2. **数据库初始化** ### 2. 初始化数据库
执行 [youlai_admin.sql](sql/mysql/youlai_admin.sql) 脚本完成数据库创建、表结 执行 [youlai_admin.sql](sql/mysql/youlai_admin.sql) 创建数据库、表结构和基础数据。
构和基础数据的初始化。
3. **修改配置** ### 3. 修改配置
默认连接`有来`线上 MySQL/Redis(仅读权限),本地开发时请修改 本地开发需修改 [application-dev.yml](src/main/resources/application-dev.yml) 中的 MySQLRedis 连接信息。
[application-dev.yml](src/main/resources/application-dev.yml) 中的 MySQL 和
Redis 连接信息。
4. **启动项目** > 默认连接线上环境(仅读权限),仅供体验使用。
执行 ### 4. 启动项目
[YoulaiBootApplication.java](src/main/java/com/youlai/boot/YoulaiBootApplication.java)
的 main 方法完成后端项目启动;
访问接口文档地址 运行 [YoulaiBootApplication.java](src/main/java/com/youlai/boot/YouLaiBootApplication.java),访问 [http://localhost:8000/doc.html](http://localhost:8000/doc.html) 验证。
[http://localhost:8000/doc.html](http://localhost:8000/doc.html) 验证项目启动
是否成功。
## 🚀 项目部署 ## 🐳 Docker 部署
参考官方文档: **详细文档**[部署指南](https://www.youlai.tech/docs/admin/backend/java/deploy.html)
[项目部署指南](https://www.youlai.tech/youlai-boot/5.%E9%A1%B9%E7%9B%AE%E9%83%A8%E7%BD%B2/)
```bash
cd docker
docker-compose up -d
```
## ✅ 项目统计 ## ✅ 项目统计
![](https://repobeats.axiom.co/api/embed/544c5c0b5b3611a6c4d5ef0faa243a9066b89659.svg "Repobeats analytics image") ![](https://repobeats.axiom.co/api/embed/544c5c0b5b3611a6c4d5ef0faa243a9066b89659.svg)
Thanks to all the contributors! ## 🤝 贡献者
[![](https://contrib.rocks/image?repo=haoxianrui/youlai-boot)](https://github.com/haoxianrui/youlai-boot/graphs/contributors) [![](https://contrib.rocks/image?repo=haoxianrui/youlai-boot)](https://github.com/haoxianrui/youlai-boot/graphs/contributors)
## 💖 交流 ## 💖 技术交流
关注「有来技术」公众号,点击菜单 **交流群** 获取加群二维码(此举防止广告进群, **公众号**关注「有来技术」,点击菜单 **交流群** 获取加群二维码
感谢理解和支持)。
② 直接添加微信 **`haoxianrui`** 备注「前端/后端/全栈」。 ![](https://foruda.gitee.com/images/1737108820762592766/3390ed0d_716974.png)
![有来技术公众号](https://foruda.gitee.com/images/1737108820762592766/3390ed0d_716974.png) **微信**:添加 **`haoxianrui`**,备注「前端/后端/全栈」
**博客**[CSDN](https://youlai.blog.csdn.net/) | [掘金](https://juejin.cn/user/4187394044331261) | [博客园](https://www.cnblogs.com/haoxianrui) | [51CTO](https://blog.51cto.com/youlai) | [知乎](https://www.zhihu.com/people/haoxr)
**官网**[https://www.youlai.tech](https://www.youlai.tech/)
**代码仓库**[Gitee](https://gitee.com/youlaiorg) | [GitHub](https://github.com/youlaitech) | [AtomGit](https://atomgit.com/youlai)