This commit is contained in:
D 2024-04-24 02:11:38 +08:00
parent 2d5cd90faa
commit 675a953025

View File

@ -18,16 +18,30 @@
与本项目同为一个作者开发,兼容性最好,学习成本最低 与本项目同为一个作者开发,兼容性最好,学习成本最低
# 引言
RuoYi-Vue与RuoYi-App是基于SpringBoot2+Vue2打造的企业级开发框架得到了广大开发者的喜爱和积极反馈。随着技术的迭代进步SpringBoot3与Vue3逐渐进入开发者的视野。为了满足开发者对于新技术的追求RuoYi官方文档提供了SpringBoot2至SpringBoot3的升级方法。与此同时社区也涌现出了RuoYi-Vue3、RuoYi-App-Vue3的版本展现了开发者社区对于技术升级的热情与努力。
然而在升级的过程中官方的方法为了兼顾Java1.8的特性与一些老旧的方法未完全拥抱SpringBoot3与Java17的全部特性。而社区的RuoYi-Vue3、RuoYi-App-Vue3版本由于出自不同的团队之手兼容性及整合性上存在些许不足。更为关键的是尽管这些版本支持TypeScript但缺乏与之相匹配的tsconfig.json配置文件这使得在主流编辑器如VSCode中TypeScript的语法提示环境并未达到最佳状态。
鉴于此RuoYi-Geek生态应运而生。它旨在为广大开发者提供一个既保留原版本核心特性又整合社区版优点的全新解决方案。在RuoYi-Geek中我们深入调研了企业开发中常用的RuoYi扩展并直接在框架中集成确保开发者能够快速上手高效开发。同时我们采用了最新的SpringBoot3+Vue3技术栈彻底移除了为了兼容Java1.8而保留的老旧方法。更为重要的是我们为TypeScript开发环境加入了常用的tsconfig.json配置使得开发者在VSCode等编辑器中能够获得更为舒适、便捷的语法提示体验。
RuoYi-Geek不仅仅是一个简单的升级版本更是对于RuoYi生态的一次全面优化与整合。我们相信通过RuoYi-Geek开发者将能够更为高效、愉悦地开发出优秀的企业级应用。
## 平台简介 ## 平台简介
若依是一套全部开源的快速开发平台,毫无保留给个人及企业免费使用。 若依是一套全部开源的快速开发平台,毫无保留给个人及企业免费使用。
* 前端采用Vue、Element UI。 * 前端采用Vue3、Element Plus
* 后端采用Spring Boot、Spring Security、Redis & Jwt。 * 后端采用Spring Boot3、Spring Security、Redis & Jwt。
* 权限认证使用Jwt支持多终端认证系统。 * 权限认证使用Jwt支持多终端认证系统。
* 支持加载动态权限菜单,多方式轻松权限控制。 * 支持加载动态权限菜单,多方式轻松权限控制。
* 高效率开发,使用代码生成器可以一键生成前后端代码。 * 高效率开发,使用代码生成器可以一键生成前后端代码。
* 不分离版本,请移步[RuoYi](https://gitee.com/y_project/RuoYi),微服务版本,请移步[RuoYi-Cloud](https://gitee.com/y_project/RuoYi-Cloud) * 多数据源与分库分表默认集成
* 所有非基本模块可随意插拔,让开发更加简单高效
* 提供了多个工具模块助力开发在线接口模块、mybatis-jpa模块
* 提供了多个常见业务模块简化开发,如:第三方认证模块、支付模块
* 提供了多个常见的服务模块集成开发websocket模块、minio模块
* 特别鸣谢:[element](https://github.com/ElemeFE/element)[vue-element-admin](https://github.com/PanJiaChen/vue-element-admin)[eladmin-web](https://github.com/elunez/eladmin-web)。 * 特别鸣谢:[element](https://github.com/ElemeFE/element)[vue-element-admin](https://github.com/PanJiaChen/vue-element-admin)[eladmin-web](https://github.com/elunez/eladmin-web)。
* 阿里云折扣场:[点我进入](http://aly.ruoyi.vip),腾讯云秒杀场:[点我进入](http://txy.ruoyi.vip)   * 阿里云折扣场:[点我进入](http://aly.ruoyi.vip),腾讯云秒杀场:[点我进入](http://txy.ruoyi.vip)  
* 阿里云优惠券:[点我领取](https://www.aliyun.com/minisite/goods?userCode=brki8iof&share_source=copy_link),腾讯云优惠券:[点我领取](https://cloud.tencent.com/redirect.php?redirect=1025&cps_key=198c8df2ed259157187173bc7f4f32fd&from=console)   * 阿里云优惠券:[点我领取](https://www.aliyun.com/minisite/goods?userCode=brki8iof&share_source=copy_link),腾讯云优惠券:[点我领取](https://cloud.tencent.com/redirect.php?redirect=1025&cps_key=198c8df2ed259157187173bc7f4f32fd&from=console)  
@ -40,16 +54,13 @@
### 细节 ### 细节
1. 改用SpringBoot3+java17的更新的技术栈 1. 改用SpringBoot3+java17的更新的技术栈并改掉所有的弃用的方法全面拥抱java17的全新特性。
2. 升级了代码生成器配合本项目的vue3版本才可用 2. 升级了代码生成器配合本项目的vue3版本才可用使关联表生成更加简单
3. 改用最新版本的SpringSecurity安全框架以及采用最新的lambda 表达式的配置方式 3. 改用最新版本的SpringSecurity安全框架以及采用最新的lambda 表达式的配置方式,更加通俗易懂!
4. 自动Api文档以springfox替代springdoc来适配knife4j框架的4.x版本 4. 自动Api文档以springfox替代springdoc来适配knife4j框架的4.x版本更好的适配springboot3
5. 引入mybatis-plus增强mybatis 5. 默认引入mybatis-plus增强mybatis并自创工具模块mybatis-jpa简化CRUD
6. RedisConfig实现CachingConfigurer接口代替继承CachingConfigurerSupport类 6. 默认引入lombok简化代码基础模块并未使用mybatis-plus和lombok对这两个扩展有争议的小伙伴可以直接删除不会影响到框架本身滴以及knife4j直接删除也不会影响到springdoc主要还是为了方便咱们开发者呢
7. CacheController中RedisCallback的connection.info() 和connection.dbSize()方法已经被弃用改成通过connection.serverCommands()调用info和db方法如connection.serverCommands().info()。 7. 提供了大量可随意插拔的模块助力快速开发同时ruoyi插件集成中的常用插件也以模块的形式直接集成在了项目中也是可以随意插拔的嗷~
8. ExcelUtil中 .newInstance()方法已被弃用,改成.getDeclaredConstructor().newInstance()
9. Excel中roundingMode方法BigDecimal.ROUND_HALF_EVEN改成RoundingMode.HALF_EVEN用枚举代替常量
10. ReflectUtils中isAccessible在java9中被弃用建议通过canAccess(null)来代替
## 模块介绍(简单开发必看) ## 模块介绍(简单开发必看)
@ -62,6 +73,7 @@
com.ruoyi com.ruoyi
├── common // 工具类 ├── common // 工具类
│ └── annotation // 自定义注解 │ └── annotation // 自定义注解
@ -98,6 +110,11 @@ com.ruoyi
│ └── phone // 手机认证模块(测试中) │ └── phone // 手机认证模块(测试中)
│ └── email // 邮箱认证模块(开发中) │ └── email // 邮箱认证模块(开发中)
│ └── starter // 第三方认证整合模块 │ └── starter // 第三方认证整合模块
├── ruoyi-middleware // 中间件模块(可移除)
│ └── minio // minio文件服务模块
│ └── starter // 中间件整合模块
├── ruoyi-mybatis-jpa // mybatis-jpa模块可移除
├── ruoyi-websocket // mybatis-websocket模块可移除
``` ```
## 内置功能 ## 内置功能