| | |
| | | ## 平台简介 |
| | | [](https://gitee.com/JavaLionLi/RuoYi-Vue-Plus) |
| | | [](https://github.com/JavaLionLi/RuoYi-Vue-Plus) |
| | | [](https://gitee.com/JavaLionLi/RuoYi-Vue-Plus/blob/master/LICENSE) |
| | | [](https://www.jetbrains.com/?from=RuoYi-Vue-Plus) |
| | | <br> |
| | | [](https://gitee.com/JavaLionLi/RuoYi-Vue-Plus) |
| | | []() |
| | | []() |
| | | []() |
| | | |
| | | 基于 RuoYi-Vue 集成 Mybatis-Plus Lombok Hutool 等便捷开发工具 适配重写相关业务 便于开发 定期与 RuoYi-Vue 同步 |
| | | RuoYi-Vue-Plus 是基于 RuoYi-Vue 针对 `分布式集群` 场景升级 定期与 RuoYi-Vue 同步 |
| | | |
| | | 集成 Lock4j dynamic-datasource OSS存储 等分布式场景解决方案 |
| | | |
| | | 集成 Mybatis-Plus Lombok Hutool 等便捷开发工具 适配重写相关业务 便于开发 |
| | | |
| | | * 前端开发框架 Vue、Element UI |
| | | * 后端开发框架 Spring Boot、Redis |
| | | * 容器框架 Undertow 基于 Netty 的高性能容器 |
| | | * 权限认证框架 Spring Security、Jwt,支持多终端认证系统 |
| | | * 关系数据库 MySQL 适配 8.X |
| | | * 缓存数据库 Redis 适配 6.X |
| | | * 数据库开发框架 Mybatis-Plus 快速 CRUD 增加开发效率 插件化支持各类需求 |
| | | * 数据库框架 Mybatis-Plus 快速 CRUD 增加开发效率 插件化支持各类需求 |
| | | * 数据库框架 多数据源框架 dynamic-datasource 支持主从与多种类数据库异构 |
| | | * 数据库框架 Redis客户端 采用 Redisson 性能更强 |
| | | * 数据库框架 性能分析插件 p6spy 更强劲的 SQL 分析 |
| | | * 序列化框架 统一使用 jackson 高效可靠 |
| | | * 网络框架 Feign、OkHttp3 接口化管理 HTTP 请求 |
| | | * 工具类框架 Hutool、Lombok 减少代码冗余 增加安全性 |
| | | * 分布式锁 Lock4j 注解锁、工具锁 多种多样 |
| | | * 文件存储 OSS 对象存储模块 支持(Minio、七牛、阿里、腾讯) |
| | | * 监控框架 spring-boot-admin 全方位服务监控 |
| | | * 校验框架 validation 增强接口安全性 严谨性 |
| | | * Excel框架 Alibaba EasyExcel 性能优异 扩展性强 |
| | | * 文档框架 knife4j 美化接口文档 |
| | | * 工具类框架 Hutool、Lombok 减少代码冗余 增加安全性 |
| | | * 代码生成器 一键生成前后端代码 |
| | | * 部署方式 Docker 容器编排 一键部署业务集群 |
| | | * 国际化 Spring 标准国际化方解决方案 |
| | | |
| | | ## 参考文档 |
| | | |
| | | 使用框架前请仔细阅读文档重点注意事项 |
| | | <br> |
| | | >[初始化项目 必看](https://gitee.com/JavaLionLi/RuoYi-Vue-Plus/wikis/关于初始化项目?sort_id=4164117) |
| | | >>[https://gitee.com/JavaLionLi/RuoYi-Vue-Plus/wikis/关于初始化项目?sort_id=4164117](https://gitee.com/JavaLionLi/RuoYi-Vue-Plus/wikis/关于初始化项目?sort_id=4164117) |
| | | > |
| | | >[部署项目 必看](https://gitee.com/JavaLionLi/RuoYi-Vue-Plus/wikis/关于应用部署?sort_id=4219382) |
| | | >>[https://gitee.com/JavaLionLi/RuoYi-Vue-Plus/wikis/关于应用部署?sort_id=4219382](https://gitee.com/JavaLionLi/RuoYi-Vue-Plus/wikis/关于应用部署?sort_id=4219382) |
| | | > |
| | | >[参考文档 Wiki](https://gitee.com/JavaLionLi/RuoYi-Vue-Plus/wikis/pages) |
| | | >>[https://gitee.com/JavaLionLi/RuoYi-Vue-Plus/wikis/pages](https://gitee.com/JavaLionLi/RuoYi-Vue-Plus/wikis/pages) |
| | | |
| | | ## 软件架构图 |
| | | |
| | |  |
| | | |
| | | ## 贡献代码 |
| | | |
| | | 欢迎各路英雄豪杰 `PR` 代码 请提交到 `dev` 开发分支 统一测试发版 |
| | | |
| | | 框架定位为 `通用后台管理系统(分布式集群强化)` 原则上不接受业务 `PR` |
| | | |
| | | ## 修改RuoYi功能 |
| | | |
| | | ### 依赖改动 |
| | | |
| | | * ORM框架 使用 Mybatis-Plus 3.4.2 简化CRUD (不支持主子表) |
| | | * ORM框架 使用 Mybatis-Plus 简化CRUD (不支持主子表) |
| | | * Bean简化 使用 Lombok 简化 get set toString 等等 |
| | | * 容器改动 Tomcat 改为 并发性能更好的 undertow |
| | | * 分页移除 pagehelper 改为 Mybatis-Plus 分页 |
| | | * 移除 pagehelper 改为 Mybatis-Plus 分页 |
| | | * 集成 p6spy 更强劲的 SQL 分析 |
| | | * 升级 swagger 为 knife4j |
| | | * 集成 Hutool 5.X 并重写RuoYi部分功能 |
| | | * 集成 Feign 接口化管理 Http 请求(如三方请求 支付,短信,推送等) |
| | | * 移除 自带服务监控 改为 spring-boot-admin 全方位监控 |
| | | * 增加 demo 模块示例(给不会增加模块的小伙伴做参考) |
| | | * 增加 redisson 高性能 Redis 客户端 |
| | | * 移除 fastjson 统一使用 jackson 序列化 |
| | | * 集成 dynamic-datasource 多数据源(默认支持MySQL,其他种类需自行适配) |
| | | * 集成 Lock4j 实现分布式 注解锁、工具锁 多种多样 |
| | | * 增加 Docker 容器编排 打包插件与部署脚本 |
| | | * 移除 通用上传下载 改为 OSS对象存储 支持(Minio、七牛、阿里、腾讯) |
| | | * 移除 RuoYi自带 Excel 工具 改为 EasyExcel 工具 |
| | | |
| | | ### 代码改动 |
| | | |
| | | * 所有原生功能使用 Mybatis-Plus 与 Lombok 重写 |
| | | * 增加 IServicePlus 与 BaseMapperPlus 可自定义通用方法 |
| | | * 代码生成模板 改为适配 Mybatis-Plus 的代码 |
| | | * 代码生成模板 拆分出 Vo,QueryBo,AddBo,EditBo 等领域对象 |
| | | * 代码生成模板 根据 Alibaba 代码规约 拆分出 VO、BO 等领域对象 |
| | | * 代码生成模板 增加 文档注解 与 校验注解 简化通用操作 |
| | | * 项目修改为 maven多环境配置 |
| | | * 项目配置修改为 application.yml 统一管理 |
| | | * 数据权限修改为 适配支持单表、多表 |
| | | * 使用 redisson 实现 spring-cache 整合 |
| | | * 增加 mybatis-plus 二级缓存 redis 存储 |
| | | |
| | | ### 其他 |
| | | |
| | | * 同步升级 RuoYi-Vue 3.5.0 |
| | | * 同步升级 RuoYi-Vue |
| | | * GitHub 地址 [RuoYi-Vue-Plus-github](https://github.com/JavaLionLi/RuoYi-Vue-Plus) |
| | | * 单模块 fast 分支 [RuoYi-Vue-Plus-fast](https://gitee.com/JavaLionLi/RuoYi-Vue-Plus/tree/fast/) |
| | | * Oracle 模块 oracle 分支 [RuoYi-Vue-Plus-oracle](https://gitee.com/JavaLionLi/RuoYi-Vue-Plus/tree/oracle/) |
| | | |
| | | ## 关注作者(扫码请备注: "加群") |
| | | |
| | |  |
| | | ## 扫码加群 一起交流 |
| | |  |
| | | |
| | | ## 捐献作者 |
| | | 作者为兼职做开源,平时还需要工作,如果帮到了您可以请作者吃个盒饭 |
| | | <img src="https://images.gitee.com/uploads/images/2021/0525/101654_451e4523_1766278.jpeg" width="300px" height="450px" /> |
| | | <img src="https://images.gitee.com/uploads/images/2021/0525/101713_3d18b119_1766278.jpeg" width="300px" height="450px" /> |
| | | |
| | | ## 重点注意事项 |
| | | |
| | | 若依文档对事务注解的描述 [关于事务](https://doc.ruoyi.vip/ruoyi/document/htsc.html#%E4%BA%8B%E5%8A%A1%E7%AE%A1%E7%90%86) 以下对多数据源事务做补充: |
| | | * 同一个事务下是无法切换数据源的 |
| | | * 禁止 父方法使用 @Transactional 创建事务 子方法使用 @DataSource 切换数据源 |
| | | * 正确用法: 子方法单独创建事务 或 父方法使用 @Transactional(propagation = Propagation.REQUIRES_NEW) 为所有子方法创建新事务 |
| | | |
| | | 关于如何使用Tomcat |
| | | * 查看ruoyi-framework模块的pom.xml文件,根据注释更改依赖 |
| | | * 查看ruoyi-admin模块中的application.yml文件,根据注释更改配置 |
| | | |
| | | 关于如何创建新模块 |
| | | * 参考ruoyi-demo模块 |
| | | * 需要改动: 父pom 与 admin模块pom |
| | | |
| | | 关于树表生成 |
| | | * 直接在mysql表中 添加 parentId orderNum 等字段(根据需要参考 TreeEntity类) |
| | | * 代码生成选择树表生成即可 |
| | | |
| | | 关于数据权限 |
| | | * 参考(用户,角色,部门)列表接口用法 |
| | | * 目前仅支持 XML 方式使用(后续修改为支持MP) |
| | | |
| | | 关于vue与boot整合部署 |
| | | * [前端静态资源如何整合到后端访问](https://doc.ruoyi.vip/ruoyi-vue/other/faq.html#前端静态资源如何整合到后端访问) |
| | | |
| | | 关于修改包名 |
| | | * 将文件夹全部修改为 com.xxx |
| | | * 使用IDEA全局替换 com.ruoyi 替换为 com.xxx |
| | | * 严禁手动修改 |
| | | |
| | | ## 内置功能 |
| | | |