# Asiainfo-Cloud **Repository Path**: guopj/Asiainfo-Cloud ## Basic Information - **Project Name**: Asiainfo-Cloud - **Description**: 微服务管理系统 整合 SpringCloudAlibaba、Dubbo3.0、Sa-Token、Mybatis-Flex、MQ、Flowable、ES、Docker、达梦、大金 全方位升级 定期同步 - **Primary Language**: Java - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 4 - **Forks**: 8 - **Created**: 2024-11-12 - **Last Updated**: 2025-07-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 大佬们 可怜给个star吧 谢谢了 谢谢了 * 演示地址: 账号 / 密码: admin / admin123 > 如果对您有帮助,您可以点右上角 "Star" 支持一下 谢谢!本项目还在不断开发完善中,如有任何建议或问题[请在这里提出](https://gitee.com/wei_wei001/Asiainfo-Cloud/issues/new) 2、系统特色 Ruoyi-Flex秉承“写的更少、性能更好、出错更低、交流通畅、快速入门” 的理念,为您带来全方位的赋能与提升: (1)写的更少 借助MyBatis-Flex显著降低了代码输入工作量,最高降低了25.85%,参考“演示模块”中的同一功能演示程序源码对比分析(排除相同代码量的控制器、前端代码): 工作量 除了那些复杂的遗留项目中的统计报表,在绝大部分情况下 不需要手写 SQL 语句。 除了那些复杂的遗留项目中的统计报表,在绝大部分情况下不需要手写 SQL 语句。 (2)性能更好 除了集成的JDK21、SpringBootV3.2、MyBatis-Flex的性能提升,系统“代码生成”模块生成的代码,凡是涉及到后台数据库的多表查询,没有采用数据库的LeftJoin、InnerJoin等SQL方式,而是使用WithRelation编程装配来取代数据库LeftJoin SQL关联查询,数据库不用维护表间外键关系,将多表关联SQL语句拆分为对各个单表的主键查询,关联无 SQL,性能提高10倍。 (3)出错更低 原来用mybatis开发需要手写SQL语句,开发后期需要增加字段,修改xml文件是一种灾难,一不留神就犯错了;借助MyBatis-Flex则很好地规避了此问题,如果字段输入错误,开发环境IDEA就会自动标红报警,避免犯错。 | 功能 | 本框架 | |----------|--------------------------------------------------------------------------------------------------------------------| | 前端项目 | 采用 Vue3 + TS + Arco-Design | | 前端表单设计器 | 采用Arco-Design + Form-Create 实现 | | 前端CRUD框架 | 采用Arco-Design + 极大简化开发周期 | | 后端项目结构 | 采用插件化 + 扩展包形式 结构解耦 易于扩展 | | 后端代码风格 | 严格遵守Alibaba规范与项目统一配置的代码格式化 | | 分布式注册中心 | 采用 Alibaba Nacos 源码集成便于调试扩展与二次开发 | | 分布式配置中心 | 采用 Alibaba Nacos 源码集成便于调试扩展与二次开发 | | 服务网关 | 采用 SpringCloud Gateway 框架扩展了多种功能
例如:内网鉴权、请求体缓存、跨域配置、请求响应日志等 | | 负载均衡 | 采用 SpringCloud Loadbalancer 扩展支持了开发团队路由 便于多团队开发调试 | | RPC远程调用 | 采用 全新 Apache Dubbo 3.X 历史悠远不用多说 | | Web容器 | 采用 Undertow 基于 XNIO 的高性能容器 | | 权限认证 | 采用 Sa-Token、Jwt 静态使用功能齐全 低耦合 高扩展 | | 权限注解 | 采用 Sa-Token 支持注解 登录校验、角色校验、权限校验、二级认证校验、HttpBasic校验、忽略校验
角色与权限校验支持多种条件 如 `AND` `OR` 或 `权限 OR 角色` 等复杂表达式 | | 关系数据库支持 | 原生支持 MySQL、Oracle、PostgreSQL、SQLServer等数据库
支持的数据库众多 功能比mybatis-plus更强大性能更好
可同时使用异构切换 | | 缓存数据库 | 支持 Redis 5-7 支持大部分新功能特性 如 分布式限流、分布式队列 | | Redis客户端 | 采用 Redisson Redis官方推荐 基于Netty的客户端工具
支持Redis 90%以上的命令 底层优化规避很多不正确的用法 例如: keys被转换为scan
支持单机、哨兵、单主集群、多主集群等模式 | | 缓存注解 | 采用 Spring-Cache 注解 对其扩展了实现支持了更多功能
例如 过期时间 最大空闲时间 组最大长度等 只需一个注解即可完成数据自动缓存 | | ORM框架 | 采用 Mybatis-Flex 基于对象几乎不用写SQL全java操作 几乎不需要去xml里写SQL 可编写复杂的SQL语句 功能强大
| | SQL监控 | 采用 Mybatis-Flex 打印功能 可输出完整SQL与执行时间监控 | | SQL审计 | 采用Mybatis-Flex 审计功能 可记录所有查询的`SQL语句`、`SQL执行参数`、`SQL执行耗时`以及对应的`业务`和`用户`
项目长期运行过程中可定位排查业务SQL慢的语句可进行优化 | | 数据分页 | 采用 Mybatis-Flex 分页插件
框架对其进行了扩展 对象化分页对象 支持多种方式传参 支持前端多排序 复杂排序 | | 数据权限 | 采用 Mybatis-Flex QueryWrapper `DataScopeUtils` 工具类 无拦截 可直接进行组合拼接SQL 无感式过滤 | | 数据脱敏 | 采用 注解 + jackson 序列化期间脱敏 支持不同模块不同的脱敏条件
支持多种策略 如`身份证`、`手机号`、`地址`、`邮箱`、`银行卡`等 可自行扩展 | | 数据翻译 | 采用 注解 + jackson 序列化期间动态修改数据 数据进行翻译
支持多种模式: `映射翻译` `直接翻译` `其他扩展条件翻译` 接口化两步即可完成自定义扩展 内置多种翻译实现 | | 多数据源框架 | 采用 MyBaits-Flex 内置了功能完善的多数据源 不需要借助第三方插件或者依赖,开箱即用, 支持包括 `druid`、`hikaricp`、`dbcp2`、`beecp` 在内的任何数据源 | | 多数据源事务 | 采用 MyBatis-Flex 提供了一个名为 `Db.tx()` 的方法^1.0.6,用于进行事务管理,若使用 Spring 框架的场景下,也可使用 @Transactional 注解进行事务管理 | | 数据库连接池 | 采用 HikariCP Spring官方内置连接池 配置简单 以性能与稳定性闻名天下 | | 数据库主键 | 采用 Mybatis-Flex 内置了三种主键生成器 其中 `flexId`:独创的 `FlexID` 算法生成数据库主键 再也不用为分库分表 数据合并主键冲突重复而发愁 | | 序列化 | 采用 Jackson Spring官方内置序列化 靠谱!!! | | 分布式任务调度 | 采用 SnailJob 天生支持分布式 统一的管理中心 功能比xxl-job更加丰富 也有工作流任务编排等功能 | | 分布式搜索引擎 | 采用 ElasticSearch、Easy-Es 以 Mybatis-Plus 方式操作 ElasticSearch | | 分布式消息队列 | 采用 SpringCloud Stream 支持 `Kafka`、`RocketMQ`、`RabbitMQ` 各种 延迟消息 事务消息 流消息 | | 分库分表功能 | 采用 Apache Sharding-Proxy 代理服务无入侵支持分库分表 只需编写分库分表规则即可 | | 文件存储 | 采用 Minio 分布式文件存储 天生支持多机、多硬盘、多分片、多副本存储
支持权限管理 安全可靠 文件可加密存储
内部集成4种上传模式`Ftp`、`Mino`、`FastDfs`、`Local` 可自由选择使用 | | 校验框架 | 采用 Validation 支持注解与工具类校验 注解支持国际化 | | Excel框架 | 采用 Alibaba EasyExcel 基于插件化
框架对其增加了很多功能 例如 自动合并相同内容 自动排列布局 字典翻译等 | | 工具类框架 | 采用 HuTool、Lombok 上百种工具覆盖90%的使用需求 基于注解自动生成 get set等简化框架大量代码 | | 服务监控框架 | 采用 SpringBoot-Admin 基于SpringBoot官方 actuator 探针机制
实时监控服务状态框架还为其扩展了在线日志查看监控 | | 代码生成器 | 只需设计好表结构 基于 Easy-Code 一键生成所有crud代码
降低60%的开发量 把精力都投入到业务设计上
框架为其适配MF、SpringDoc规范化代码 同时支持动态多数据源代码生成 | | 项目路径修改 | 提供详细的修改方案文档 并为其做了一些改动 非常简单即可修改成自己想要的 | | 代码单例测试 | 提供单例测试 使用方式编写方法与maven多环境单测插件 | | 依赖配置 | 提供最新版本的依赖 可及时升级 避免扫描出漏洞 | | 工作流 | 采用 Flowable7 采用了全新的架构 升级了Flowable的核心引擎 相比于Flowable6 有显著的效率和可靠性提升 性能比Activiti更强 | | 分布式日志框架 | 采用 Grafana + Loki 轻量级架构去记录系统里的日志相比于ELK更加简单需要的机器性能也简单 压缩比比ElasticSearch更好 | | 国产数据库 | 框架目前已优化了兼容国产数据库达梦、金仓等,对于工作流也做了相对应的配置 属于拿来即用 |