• Stars
    star
    776
  • Rank 56,456 (Top 2 %)
  • Language
    Java
  • License
    MIT License
  • Created almost 3 years ago
  • Updated about 1 month ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

基于RuoYi-Vue集成 Lombok+Mybatis-Plus+Undertow+knife4j+Hutool+Feign 重写所有原生业务 定期与RuoYi-Vue同步


平台简介

码云Gitee GitHub License 使用IntelliJ IDEA开发维护
RuoYi-Vue-Plus Spring Boot JDK-8+ JDK-11

RuoYi-Vue-Plus 是重写 RuoYi-Vue 针对 分布式集群 场景全方位升级(不兼容原框架)

项目代码、文档 均开源免费可商用 遵循开源协议在项目中保留开源协议文件即可
活到老写到老 为兴趣而开源 为学习而开源 为让大家真正可以学到技术而开源

系统演示: 传送门

本框架与RuoYi的功能差异

功能 本框架 RuoYi
前端项目 基于vue3-element-admin开源项目重写
Vue3 + TS + ElementPlus
基于Vue2/Vue3 + JS
后端项目结构 采用插件化 + 扩展包形式 结构解耦 易于扩展 模块相互注入耦合严重难以扩展
后端代码风格 严格遵守Alibaba规范与项目统一配置的代码格式化 代码书写与常规结构不同阅读障碍大
Web容器 采用 Undertow 基于 XNIO 的高性能容器 采用 Tomcat
权限认证 采用 Sa-Token、Jwt 静态使用功能齐全 低耦合 高扩展 Spring Security 配置繁琐扩展性极差
权限注解 采用 Sa-Token 支持注解 登录校验、角色校验、权限校验、二级认证校验、HttpBasic校验、忽略校验
角色与权限校验支持多种条件 如 AND OR权限 OR 角色 等复杂表达式
只支持是否存在匹配
关系数据库支持 原生支持 MySQL、Oracle、PostgreSQL、SQLServer
可同时使用异构切换
支持 Mysql、Oracle 不支持同时使用、不支持异构切换
缓存数据库 支持 Redis 5-7 支持大部分新功能特性 如 分布式限流、分布式队列 Redis 简单 get set 支持
Redis客户端 采用 Redisson Redis官方推荐 基于Netty的客户端工具
支持Redis 90%以上的命令 底层优化规避很多不正确的用法 例如: keys被转换为scan
支持单机、哨兵、单主集群、多主集群等模式
Lettuce + RedisTemplate 支持模式少 工具使用繁琐
连接池采用 common-pool Bug多经常性出问题
缓存注解 采用 Spring-Cache 注解 对其扩展了实现支持了更多功能
例如 过期时间 最大空闲时间 组最大长度等 只需一个注解即可完成数据自动缓存
需手动编写Redis代码逻辑
ORM框架 采用 Mybatis-Plus 基于对象几乎不用写SQL全java操作 功能强大插件众多
例如多租户插件 分页插件 乐观锁插件等等
采用 Mybatis 基于XML需要手写SQL
SQL监控 采用 p6spy 可输出完整SQL与执行时间监控 log输出 需手动拼接sql与参数无法快速查看调试问题
数据分页 采用 Mybatis-Plus 分页插件
框架对其进行了扩展 对象化分页对象 支持多种方式传参 支持前端多排序 复杂排序
采用 PageHelper 仅支持单查询分页 参数只能从param传 只能单排序 功能扩展性差 体验不好
数据权限 采用 Mybatis-Plus 插件 自行分析拼接SQL 无感式过滤
只需为Mapper设置好注解条件 支持多种自定义 不限于部门角色
采用 注解+aop 实现 基于部门角色 生成的sql兼容性差 不支持其他业务扩展
生成sql后需手动拼接到具体业务sql上 对于多个Mapper查询不起作用
数据脱敏 采用 注解 + jackson 序列化期间脱敏 支持不同模块不同的脱敏条件
支持多种策略 如身份证、手机号、地址、邮箱、银行卡等 可自行扩展
数据加解密 采用 注解 + mybatis 拦截器 对存取数据期间自动加解密
支持多种策略 如BASE64、AES、RSA、SM2、SM4等
数据翻译 采用 注解 + jackson 序列化期间动态修改数据 数据进行翻译
支持多种模式: 映射翻译 直接翻译 其他扩展条件翻译 接口化两步即可完成自定义扩展 内置多种翻译实现
多数据源框架 采用 dynamic-datasource 支持世面大部分数据库
通过yml配置即可动态管理异构不同种类的数据库 也可通过前端页面添加数据源
支持spel表达式从请求头参数等条件切换数据源
基于 druid 手动编写代码配置数据源 配置繁琐 支持性差
多数据源事务 采用 dynamic-datasource 支持多数据源不同种类的数据库事务回滚 不支持
数据库连接池 采用 HikariCP Spring官方内置连接池 配置简单 以性能与稳定性闻名天下 采用 druid bug众多 社区维护差 活跃度低 配置众多繁琐性能一般
数据库主键 采用 雪花ID 基于时间戳的 有序增长 唯一ID 再也不用为分库分表 数据合并主键冲突重复而发愁 采用 数据库自增ID 支持数据量有限 不支持多数据源主键唯一
WebSocket协议 基于 Spring 封装的 WebSocket 协议 扩展了Token鉴权与分布式会话同步 不再只是基于单机的废物
序列化 采用 Jackson Spring官方内置序列化 靠谱!!! 采用 fastjson bugjson 远近闻名
分布式幂等 参考美团GTIS防重系统简化实现(细节可看文档) 手动编写注解基于aop实现
分布式任务调度 采用 Xxl-Job 天生支持分布式 统一的管理中心 采用 Quartz 基于数据库锁性能差 集群需要做很多配置与改造
文件存储 采用 Minio 分布式文件存储 天生支持多机、多硬盘、多分片、多副本存储
支持权限管理 安全可靠 文件可加密存储
采用 本机文件存储 文件裸漏 易丢失泄漏 不支持集群有单点效应
云存储 采用 AWS S3 协议客户端 支持 七牛、阿里、腾讯 等一切支持S3协议的厂家 不支持
短信 支持 阿里、腾讯 只需在yml配置好厂家密钥即可使用 接口化支持扩展其他厂家 不支持
邮件 采用 mail-api 通用协议支持大部分邮件厂商 不支持
接口文档 采用 SpringDoc、javadoc 无注解零入侵基于java注释
只需把注释写好 无需再写一大堆的文档注解了
采用 Springfox 已停止维护 需要编写大量的注解来支持文档生成
校验框架 采用 Validation 支持注解与工具类校验 注解支持国际化 仅支持注解 且注解不支持国际化
Excel框架 采用 Alibaba EasyExcel 基于插件化
框架对其增加了很多功能 例如 自动合并相同内容 自动排列布局 字典翻译等
基于 POI 手写实现 功能有限 复杂 扩展性差
工具类框架 采用 Hutool、Lombok 上百种工具覆盖90%的使用需求 基于注解自动生成 get set 等简化框架大量代码 手写工具稳定性差易出问题 工具数量有限 代码臃肿需自己手写 get set 等
监控框架 采用 SpringBoot-Admin 基于SpringBoot官方 actuator 探针机制
实时监控服务状态 框架还为其扩展了在线日志查看监控
链路追踪 采用 Apache SkyWalking 还在为请求不知道去哪了 到哪出了问题而烦恼吗
用了它即可实时查看请求经过的每一处每一个节点
代码生成器 只需设计好表结构 一键生成所有crud代码与页面
降低80%的开发量 把精力都投入到业务设计上
框架为其适配MP、SpringDoc规范化代码 同时支持动态多数据源代码生成
代码生成原生结构 只支持单数据源生成
部署方式 支持 Docker 编排 一键搭建所有环境 让开发人员从此不再为搭建环境而烦恼 原生jar部署 其他环境需手动下载安装 自行搭建
项目路径修改 提供详细的修改方案文档 并为其做了一些改动 非常简单即可修改成自己想要的 需要做很多改造 文档说明有限
国际化 基于请求头动态返回不同语种的文本内容 开发难度低 有对应的工具类 支持大部分注解内容国际化 只提供基础功能 其他需自行编写扩展
代码单例测试 提供单例测试 使用方式编写方法与maven多环境单测插件 只提供基础功能 其他需自行编写扩展
Demo案例 提供框架功能的实际使用案例 单独一个模块提供了很多很全

本框架与RuoYi的业务差异

业务 功能说明 本框架 RuoYi
用户管理 用户的管理配置 如:新增用户、分配用户所属部门、角色、岗位等 支持 支持
部门管理 配置系统组织机构(公司、部门、小组) 树结构展现支持数据权限 支持 支持
岗位管理 配置系统用户所属担任职务 支持 支持
菜单管理 配置系统菜单、操作权限、按钮权限标识等 支持 支持
角色管理 角色菜单权限分配、设置角色按机构进行数据范围权限划分 支持 支持
字典管理 对系统中经常使用的一些较为固定的数据进行维护 支持 支持
参数管理 对系统动态配置常用参数 支持 支持
通知公告 系统通知公告信息发布维护 支持 支持
操作日志 系统正常操作日志记录和查询 系统异常信息日志记录和查询 支持 支持
登录日志 系统登录日志记录查询包含登录异常 支持 支持
文件管理 系统文件展示、上传、下载、删除等管理 支持
文件配置管理 系统文件上传、下载所需要的配置信息动态添加、修改、删除等管理 支持
在线用户管理 已登录系统的在线用户信息监控与强制踢出操作 支持 支持
定时任务 运行报表、任务管理(添加、修改、删除)、日志管理、执行器管理等 支持 仅支持任务与日志管理
代码生成 多数据源前后端代码的生成(java、html、xml、sql)支持CRUD下载 支持 仅支持单数据源
系统接口 根据业务代码自动生成相关的api接口文档 支持 支持
服务监控 监视集群系统CPU、内存、磁盘、堆栈、在线日志、Spring相关配置等 支持 仅支持单机CPU、内存、磁盘监控
缓存监控 对系统的缓存信息查询,命令统计等。 支持 支持
在线构建器 拖动表单元素生成相应的HTML代码。 支持 支持
使用案例 系统的一些功能案例 支持 不支持

参考文档

使用框架前请仔细阅读文档重点注意事项

初始化项目 必看

https://gitee.com/dromara/RuoYi-Vue-Plus/wikis/pages?sort_id=4164117&doc_id=1469725

专栏与视频 入门必看

https://gitee.com/dromara/RuoYi-Vue-Plus/wikis/pages?sort_id=5473272&doc_id=1469725

部署项目 必看

https://gitee.com/dromara/RuoYi-Vue-Plus/wikis/pages?sort_id=4219382&doc_id=1469725

参考文档 Wiki

https://gitee.com/dromara/RuoYi-Vue-Plus/wikis/pages

软件架构图

Plus部署架构图

贡献代码

欢迎各路英雄豪杰 PR 代码 请提交到 dev 开发分支 统一测试发版

框架定位为 通用后台管理系统(分布式集群强化) 原则上不接受业务 PR

其他

加群与捐献

加群与捐献

https://gitee.com/dromara/RuoYi-Vue-Plus/wikis/加群与捐献?sort_id=4104598

捐献作者

作者为兼职做开源,平时还需要工作,如果帮到了您可以请作者吃个盒饭

演示图例

输入图片说明 输入图片说明
输入图片说明 输入图片说明
输入图片说明 输入图片说明
输入图片说明 输入图片说明
输入图片说明 输入图片说明
输入图片说明 输入图片说明
输入图片说明 输入图片说明
输入图片说明 输入图片说明
输入图片说明 输入图片说明
输入图片说明 输入图片说明
输入图片说明 输入图片说明
输入图片说明 输入图片说明
输入图片说明 输入图片说明
输入图片说明 输入图片说明
输入图片说明 输入图片说明
输入图片说明 输入图片说明
输入图片说明 输入图片说明
输入图片说明 输入图片说明
输入图片说明 输入图片说明

More Repositories

1

hutool

🍬A set of tools that keep Java sweet.
Java
28,241
star
2

Sa-Token

这可能是史上功能最全的Java权限认证框架!目前已集成——登录认证、权限认证、分布式Session会话、微服务网关鉴权、单点登录、OAuth2.0、踢人下线、Redis集成、前后台分离、记住我模式、模拟他人账号、临时身份切换、账号封禁、多账号认证体系、注解式鉴权、路由拦截式鉴权、花式token生成、自动续签、同端互斥登录、会话治理、密码加密、jwt集成、Spring集成、WebFlux集成...
Java
15,305
star
3

lamp-cloud

lamp-cloud 基于Jdk11 + SpringCloud + SpringBoot 开发的微服务中后台快速开发平台,专注于多租户(SaaS架构)解决方案,亦可作为普通项目(非SaaS架构)的基础开发框架使用,目前已实现插拔式数据库隔离、SCHEMA隔离、字段隔离 等租户隔离方案。
Java
5,311
star
4

hertzbeat

A real-time monitoring system with agentless, performance cluster, prometheus-compatible, custom monitoring and status page building capabilities.
Java
4,459
star
5

hmily

Distributed transaction solutions
Java
4,086
star
6

dynamic-tp

🔥🔥🔥轻量级动态线程池,内置监控告警功能,集成三方中间件线程池管理,基于主流配置中心(已支持Nacos、Apollo,Zookeeper、Consul、Etcd,可通过SPI自定义实现)。Lightweight dynamic threadpool, with monitoring and alarming functions, base on popular config centers (already support Nacos、Apollo、Zookeeper、Consul, can be customized through SPI).
Java
3,453
star
7

liteflow

Lightweight, fast, stable, and programmable component-based rule engine/process engine. Component reuse, synchronous/asynchronous orchestration, dynamic orchestration, multi-language scripting support, complex nested rules, hot deployment, smooth refreshing. Let you improve your development efficiency!
Java
2,610
star
8

raincat

强一致分布式事务框架
Java
1,908
star
9

mayfly-go

web版linux(终端 文件 脚本 进程)、数据库(mysql pgsql oracle sqlserver 高斯 达梦 sqlite)、数据同步、redis(单机 哨兵 集群)、mongo统一管理操作平台。web version of linux(terminal file script process), database (mysql pgsql oracle sqlserver Gauss sqlite), redis(single sentinel cluster), mongo unified management and operation platform.
Vue
1,657
star
10

forest

A high-level and lightweight declarative HTTP client framework for Java. it makes sending HTTP requests in Java easier.
Java
1,568
star
11

electron-egg

A simple, cross platform, enterprise desktop software development framework
JavaScript
1,517
star
12

myth

Reliable messages resolve distributed transactions
Java
1,492
star
13

easy-es

A foolproof Elasticsearch ORM framework that is easy to use, requires minimal coding, and is highly expandable...
Java
1,300
star
14

MaxKey

🗝️MaxKey SSO ,Leading-Edge IAM-IDaas(Identity and Access Management) Product,业界领先的IAM-IDaas身份管理和认证产品,支持OAuth2.x、OpenID Connect、SAML2.0、JWT、CAS、SCIM等SSO标准协议,基于RBAC统一权限控制,实现用户生命周期管理,开源、安全、合规、自主可控。
Java
1,234
star
15

Jpom

🚀简而轻的低侵入式在线构建、自动部署、日常运维、项目监控软件
Java
1,184
star
16

x-file-storage

一行代码将文件存储到 本地、FTP、SFTP、WebDAV、谷歌云存储、阿里云OSS、华为云OBS、七牛云Kodo、腾讯云COS、百度云 BOS、又拍云USS、MinIO、 AWS S3、FastDFS、 Azure Blob Storage、金山云 KS3、美团云 MSS、京东云 OSS、天翼云 OOS、移动云 EOS、沃云 OSS、 网易数帆 NOS、Ucloud US3、青云 QingStor、平安云 OBS、首云 OSS、IBM COS、其它兼容 S3 协议的平台。后续即将支持 Samba、NFS
Java
1,042
star
17

sureness

A simple and efficient security framework that focus on protection of API.
Java
844
star
18

payment-spring-boot

微信支付V3支付,支持微信优惠券,代金券、商家券、公众号支付、微信小程序支付、分账、支付分、商家券、合单支付、先享卡、电商收付通等全部微信支付功能API,同时满足服务商、商户开发需求。一键集成,上手快,欢迎star。
HTML
706
star
19

mendmix-cloud

Mendmix定位是一站式分布式开发架构开源解决方案及云原生架构技术底座。Mendmix提供了数据库、缓存、消息中间件、分布式定时任务、安全框架、网关以及主流产商云服务快速集成能力。基于Mendmix可以不用关注技术细节快速搭建高并发高可用基于微服务的分布式架构。
Java
694
star
20

SMS4J

让简单的事情回归简单的本质。 SMS4J为短信聚合框架,帮您轻松集成多家短信服务,解决接入多个短信SDK的繁琐流程。 目前已接入数家常见的短信服务商,后续将会继续集成。后续的版本中我们还将推出更多的相关功能 你的 ⭐️ ⭐️⭐️Star⭐️⭐️ ⭐️,是我的动力!如果你觉得还不错,请点上一颗小星星
Java
662
star
21

dante-cloud

Dante Cloud 是以「高质量代码、低安全漏洞」为核心,采用领域驱动模型(DDD)设计思想,完全基于 Spring 生态全域开源技术和 OAuth2.1 协议,支持智能电视、IoT等物联网设备认证,满足国家三级等保要求、支持接口国密数字信封加解密、防刷、高防XSS和SQL注入等一系列安全体系的多租户微服务解决方案。
Java
626
star
22

RuoYi-Cloud-Plus

重写RuoYi-Cloud所有功能 整合 SpringCloudAlibaba Dubbo3.0 Sa-Token Mybatis-Plus MQ OSS ES Xxl-Job Docker 全方位升级 定期同步
Java
547
star
23

TLog

Lightweight distributed log label tracking framwork
Java
529
star
24

yft-design

一款美观且功能强大的在线设计工具,具备海报设计和图片编辑功能,基于fabric.js的开源版【稿定设计】。适用于多种场景,如海报生成、电商产品图制作、文章长图设计、视频/公众号封面编辑等 。A beautiful and powerful online design tool
TypeScript
491
star
25

go-view

GoView 说明文档,GoView 是一个低代码数据可视化开发平台,将图表或页面元素封装为基础组件,无需编写代码即可完成业务需求。 它的技术栈为:Vue3 + TypeScript4 + Vite2 + NaiveUI + ECharts5 + Axios + Pinia2 + PlopJS
Vue
472
star
26

gobrs-async

Gobrs-Async (异步任务 编排框架) 是一款功能强大、配置灵活、带有全链路异常回调、内存优化、异常状态管理于一身的高性能异步编排框架。为企业提供在复杂应用场景下动态任务编排的能力。 针对于复杂场景下,异步线程复杂性、任务依赖性、异常状态难控制性; Gobrs-Async 为此而生。
Java
441
star
27

fast-request

IntelliJ IDEA plugin Restful Fast Request
Shell
431
star
28

neutrino-proxy

中微子代理(内网穿透)
Java
418
star
29

tianai-captcha

可能是java界最好的开源行为验证码 [滑块验证码、点选验证码、行为验证码、旋转验证码, 滑动验证码]
Java
413
star
30

newcar

🪢A modern animation engine for JavaScript ecosystem, which is based on CanvasKit-WASM.
TypeScript
389
star
31

CloudEon

CloudEon uses Kubernetes to install and deploy open-source big data components, enabling the containerized operation of an open-source big data platform. This allows you to reduce your focus on underlying resource management and maintenance.
Java
375
star
32

disjob

A distributed job scheduling and distributed computing framework
Java
329
star
33

Jinx

Spring-boot框架采用netty取代tomcat 来做http服务
Java
292
star
34

cubic

一站式问题定位平台,还在为线上问题而烦恼吗?分布式实例监控、线程栈监控、线程池监控、动态arthas命令集、依赖分析等等等,助你快速定位问题
Java
244
star
35

dataCompare

big data comparison and data profiling platform: low code,data comparison and data profiling
Java
231
star
36

RedisFront

RedisFront 是一款开源免费的跨平台 Redis 桌面客户端工具, 支持单机模式, 集群模式, 哨兵模式以及 SSH 隧道连接, 欢迎下载使用.
Java
215
star
37

northstar

国内最优秀的基于JAVA的AI开源量化交易平台,秒替文华、MC、金字塔。具备历史回放、策略研发、模拟交易、实盘交易等功能。兼顾全自动与半自动的使用场景。
Java
202
star
38

issues-translate-action

The action for translating Non-English issues content to English.
TypeScript
174
star
39

hodor

A distributed scheduling job framework supporting DAG workflow for big data and regular jobs, providing programmable job types across different languages.
Java
136
star
40

distribute-transaction

分布式事务书籍随书源码
Java
98
star
41

koalas-rpc

企业生产级百亿日PV高可用可拓展的RPC框架。理论上并发数量接近服务器带宽,客户端采用thrift协议,服务端支持netty和thrift的TThreadedSelectorServer半同步半异步线程模型,支持动态扩容,服务上下线,权重动态,可用性配置,泛化调用,页面流量统计,泛化调用等,支持trace跟踪等,天然接入cat支持数据大盘展示等,持续为个人以及中小型公司提供可靠的RPC框架技术方案
Java
98
star
42

stream-query

Java
89
star
43

dax-pay

免费开源的支付网关,支持支付宝、微信、云闪付等通道,提供收单、退款、聚合支付、组合支付、对账、分账等功能,同时扩展了更多支付方式,如储值卡、现金卡等,通过HTTP方式进行调用,不与其他系统产生耦合关联,可以快速集成到各种系统中,提供可视化界面进行管理,便于实现统一的支付信息管理。
Java
78
star
44

J2EEFAST

J2eeFAST 是一个 Java EE 企业级快速开发平台,永久免费、真开源,拒绝标题党。基于经典技术组合(Spring Boot、Spring MVC、Apache Shiro、MyBatis-Plus、Freemarker、Bootstrap、AdminLTE)采用经典开发模式,让初学者能够更快的入门并投入到团队开发中去。 在线代码生成功能,包括核心模块如:组织机构、角色用户、菜单及按钮授权、数据权限、系统参数、内容管理、license认证,BPM工作流等。采用松耦合设计;界面无刷新,一键换肤;众多账号安全设置,密码策略;在线定时任务配置;支持多数据源;支持读写分离、分库分表.
Java
77
star
45

TestHub

一款基于流程编排的自动化测试工具
Java
39
star
46

binlog4j

Java
33
star
47

dromara.github.io

Dromara Official Website
TypeScript
32
star
48

mybatis-plus-ext

mybatis-plus框架的拓展包,在框架原有基础上做了进一步的轻度封装,增强内容:多数据源自动建表、数据自动填充、自动关联查询、冗余数据自动更新、动态查询条件等。
Java
29
star
49

athena

Java
22
star
50

WeMQ

WeMQ是一款面向物联网设备运营商的开源物联网设备调试系统,提供完整的物联网设备调试方案,集成设备管理、MQTT服务器管理、客户管理等功能,自研Nmqs通信层组件,实现了连接信息的加密,保证了数据的安全性。
HTML
18
star
51

open-capacity-platform

JavaScript
14
star
52

transaction-book

distributed transaction book
12
star
53

mybatis-jpa-extra

简化MyBatis CUID操作,增强SELECT分页查询
Java
10
star
54

website

Dromara Official Website (Old)
JavaScript
7
star
55

hmily-admin

Java
7
star
56

plus-doc

HTML
4
star
57

soul-benchmark

Soul performance test
3
star
58

gateway-book

2
star
59

hmily-dashboard

Vue
2
star
60

open-giteye-api

Java
2
star
61

skyway

2
star
62

hmily-admin-helm-chart

Smarty
2
star
63

tlog-homepage

JavaScript
1
star
64

soul-doc

1
star
65

northstar-monitor

JavaScript
1
star
66

stream-query-docs

文档
HTML
1
star