# youlai-boot-plus **Repository Path**: guojf/youlai-boot-plus ## Basic Information - **Project Name**: youlai-boot-plus - **Description**: 基于 JDK 21、Spring Boot 3.2、Sa-Token v1.37.0、Redis、Mybatis-Plus、Knife4j、Vue 3、Element-Plus 构建的前后端分离单体权限管理系统。
注意: 在原来的 youlai-boot 上进行了改动, 把 SpringSecurity 换成了 Sa-Token, 增加了 日志管理页面. 还有一些杂七杂八的改动等 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2024-08-21 - **Last Updated**: 2024-08-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 声明 本项目是在 youlai-boot 的基础上进行二次开发
原项目gitee地址如下 原项目地址
本项目在原来的 youlai-boot 上进行了改动, 把 SpringSecurity 换成了 Sa-Token, 增加了 日志管理页面, 去除了验证码验证逻辑
还有一些杂七杂八的改动等 比如线程池改成了java21的虚拟线程池等等

🦄 项目Gitee地址

## 📢 项目简介 基于 JDK 21、Spring Boot 3.2、Sa-Token v1.37.0、Redis、Mybatis-Plus、Knife4j、Vue 3、Element-Plus 构建的前后端分离单体权限管理系统。
注意: 在原来的 youlai-boot 上进行了改动, 把 SpringSecurity 换成了 Sa-Token, 增加了 日志管理页面. 还有一些杂七杂八的改动等 - **🚀 开发框架**: 使用 Spring Boot 3 和 Vue 3,以及 Element-Plus 等主流技术栈,实时更新。 - **🔐 安全认证**: Sa-Token Sa-Token 是一个轻量级 Java 权限认证框架,主要解决:登录认证、权限认证、单点登录、OAuth2.0、分布式Session会话、微服务网关鉴权 等一系列权限相关问题。 - **🔑 权限管理**: 基于 RBAC 模型,实现细粒度的权限控制,涵盖接口方法和按钮级别。 - **🛠️ 功能模块**: 包括用户管理、角色管理、菜单管理、部门管理、字典管理等多个功能。 - **📘 接口文档**: 自动生成接口文档,支持在线调试,提高开发效率。 ## 📁 项目目录 ``` youlai-boot ├── sql # SQL脚本 ├── mysql8 # MySQL8 脚本 ├── src # 源码目录 ├── common # 公共模块 |-- annotation |-- Log.java # 操作日志注解 |-- util |-- ObjUtils # 包括不限于对象判空的工具类 |-- PasswordEncoderUtils # 登录密码加密工具类 |-- RedisUtils # 操作 redis 的工具类 |-- SysConfigUtils # 获取application 配置的工具类 |-- UserInfoUtils # 用于获取当前登录用户 (类似曾经的 SecurityUtils) ├── config # 自动装配配置 ├── CorsConfig # 跨域共享配置 ├── MybatisConfig # Mybatis 自动装配配置 ├── RedisCacheConfig # Redis 缓存自动装配配置 ├── RedisConfig # Redis 自动装配配置 ├── SecurityConfig # Spring Security 自动装配配置 ├── SwaggerConfig # API 接口文档配置 ├── WebMvcConfig # WebMvc 配置 ├── WebSocketConfig # WebSocket 自动装配配置 ├── XxlJobConfig # XXL-JOB 自动装配配置 |-- JacksonConfig.java # jackson 序列化的配置 |-- SaTokenConfigure.java # Sa-Token 配置 ├── listener # 监听 ├── MySaTokenListener # 用户登录注销等事件的监听器 ├── controller # 控制层 ├── converter # MapStruct 转换器 ├── filter # 过滤器 ├── RequestLogFilter # 请求日志过滤器 ├── model # 模型层 ├── bo # 业务对象 ├── dto # 数据传输对象 ├── entity # 实体对象 ├── form # 表单对象 ├── query # 查询参数对象 ├── vo # 视图对象 ├── mapper # 数据库访问层 ├── plugin # 插件(可选) ├── dupsubmit # 防重提交插件,用于防止表单重复提交 ├── mybatis # Mybatis 插件,数据权限、字段填充 ├── easyexcel # EasyExcel 插件,Excel 文件的读写 ├── xxljob # XXL-JOB 插件,分布式任务调度和执行 ├── service # 业务逻辑层 └── end ``` ## 🌈 接口文档 - `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) - `apifox` 在线接口文档:[https://www.apifox.cn/apidoc](https://www.apifox.cn/apidoc/shared-195e783f-4d85-4235-a038-eec696de4ea5) ## 🚀 项目启动 1. **数据库初始化** 执行 [youlai_boot.sql](sql/mysql8/youlai_boot.sql) 脚本完成数据库创建、表结构和基础数据的初始化。 2. **修改配置** [application-dev.yml](src/main/resources/application-dev.yml) 修改MySQL、Redis连接配置; 3. **启动项目** 执行 [SystemApplication.java](src/main/java/com/youlai/system/SystemApplication.java) 的 main 方法完成后端项目启动; 访问接口文档地址 [http://ip:port/doc.html](http://localhost:8989/doc.html) 验证项目启动是否成功。