【RuoYi-SpringBoot3-Pro】:若依企业级增强版 —— 让开发更安全高效
一、项目简介
RuoYi-SpringBoot3-Pro 是若依(RuoYi-Vue)的企业级增强版本。它不仅保留了若依的所有优秀特性,还针对企业实际需求新增了代码加密保护、三级等保合规、AI 能力集成、低代码开发等多项高级功能。
核心特点:
- ✅ 完全开源免费,基于 MIT 协议
- ✅ 100% 保留若依原有功能
- ✅ 采用最新技术栈:Spring Boot 3 + MyBatis-Plus
- ✅ 支持多种主流数据库
技术栈:
- 后端:Spring Boot 3.3.5 + MyBatis-Plus + Spring Security
- 前端:Vue 3 + Element Plus / Vant
- 缓存:Redis
- 数据库:MySQL / PostgreSQL / 达梦 / 瀚高 / 高斯
二、核心新特性详解
2.1 代码加密保护 —— 守护你的核心资产
痛点: Java 代码容易被反编译,核心业务逻辑容易泄露。
解决方案: 集成 ClassFinal 字节码加密插件,对编译后的 class 文件进行深度加密。
<!-- Maven 配置示例 -->
<plugin>
<groupId>com.gitee.lcm742320521</groupId>
<artifactId>classfinal-maven-plugin</artifactId>
<configuration>
<!-- 加密核心业务包 -->
<packages>com.ruoyi.biz</packages>
<!-- 加密配置文件 -->
<cfgfiles>*.yml</cfgfiles>
<!-- 设置密码保护 -->
<password>YourSecretPassword</password>
</configuration>
</plugin>
使用效果:
- 反编译后看到的全是乱码,无法还原源代码
- 运行时需要提供密码:
java -jar app.jar -pwd=YourPassword - 适用于商业项目交付、核心算法保护等场景
2.2 三级等保支持 —— 满足合规要求
背景: 政府、金融等行业要求系统通过国家信息安全等级保护三级认证。
内置安全策略:
1. 密码更新周期
# 系统参数配置
sys.account.passwordValidateDays: 90
# 90天未更新密码强制修改
2. 登录失败锁定
sys.account.tryLoginCount: 5-30
# 5次失败锁定30分钟
3. 初始密码强制修改
- 新用户首次登录必须修改初始密码
- 符合等保要求的密码安全策略
4. IP 黑名单
sys.login.blackIPList: 192.168.1.*;10.0.0.0/8
# 支持通配符和网段匹配
这些配置通过系统参数表管理,无需重启服务即可生效。
2.3 AI 能力集成 —— 让系统更智能
内置 OpenAI SDK,轻松为系统添加 AI 对话能力。
同步对话示例:
// 创建客户端
OpenAIClient client = OpenAI.chatClient("your-api-key",
"https://api.openai.com/v1", null);
// 构建消息
List<AIMessage> messages = Arrays.asList(
new AIMessage(AIRole.SYSTEM, "你是一个助手"),
new AIMessage(AIRole.USER, "介绍一下 Spring Boot")
);
// 发送请求
String response = OpenAI.chat(client,
OpenAI.chatParams("gpt-3.5-turbo", messages));
流式对话(SSE):
// 支持打字机效果,实时展示 AI 回复
return OpenAI.chatStream(client, params, new StreamContentListener() {
@Override
public void onContent(String content) {
// 逐字输出
System.out.print(content);
}
});
兼容性: 支持所有兼容 OpenAI 协议的 API(如国内大模型)。
2.4 MyBatis-Plus —— 更强大的 ORM
从原生 MyBatis 升级到 MyBatis-Plus,开发效率提升明显。
对比差异:
| 功能 | MyBatis | MyBatis-Plus |
|---|---|---|
| 基础 CRUD | 需要手写 XML | 自动生成,无需编写 |
| 分页查询 | 手动配置 | 自动分页插件 |
| 查询语法 | XML | Lambda 表达式(类型安全) |
| 乐观锁 | 手动实现 | 注解即可 |
| 逻辑删除 | 手动实现 | 注解即可 |
代码示例:
// 1. Mapper 继承 BaseMapper
public interface UserMapper extends BaseMapper<User> {
// 无需任何代码,已拥有 CRUD 方法
}
// 2. 优雅的 Lambda 查询
List<User> users = userMapper.selectList(
new LambdaQueryWrapper<User>()
.eq(User::getStatus, "0")
.like(User::getUserName, "admin")
.orderByDesc(User::getCreateTime)
);
// 3. 分页查询
Page<User> page = new Page<>(1, 10);
userMapper.selectPage(page, wrapper);
2.5 Magic API —— 可视化接口开发
无需编译、即改即生效的接口开发平台。
核心特点:
- 🎨 Web 可视化界面,像写 SQL 一样开发接口
- ⚡ 修改立即生效,无需重启服务
- 💾 接口脚本存储在数据库,支持版本管理
- 🔄 支持接口测试、历史记录、回滚等功能
访问地址: http://localhost:8087/magic/web
适用场景:
- 快速开发临时接口
- 数据统计报表接口
- 简单的 CRUD 接口
- 配合代码生成器实现双管齐下
2.6 多数据库支持 —— 适配国产化需求
支持 5 种主流数据库,满足不同场景需求:
| 数据库 | 版本 | 应用场景 |
|---|---|---|
| MySQL | 8.0+ | 互联网应用、中小企业 |
| PostgreSQL | 12+ | 企业级应用、数据分析 |
| 达梦数据库 | DM8+ | 国产化替代、政府项目 |
| 瀚高数据库 | 6.2+ | 金融行业、电信行业 |
| 高斯数据库 | GaussDB | 华为云、政企系统 |
切换数据库: 只需修改配置文件中的 spring.profiles.active 即可。
spring:
profiles:
active: devmy # devmy=MySQL, devpg=PostgreSQL, devdm=达梦...
2.7 多租户支持 —— SaaS 应用必备
基于字段级别的租户隔离方案。
工作原理:
- 在需要隔离的表中添加
tenant_id字段 - 框架自动在 SQL 中注入租户条件
- 业务代码完全无感知
配置示例:
tenant:
enable: true # 启用多租户
column: tenant_id # 租户字段名
ignoreTables: # 不隔离的表
- sys_user
- sys_role
ignoreLoginNames: # 不隔离的用户(如超级管理员)
- admin
三、与原版若依的对比
| 特性 | RuoYi-Vue | RuoYi-SpringBoot3-Pro |
|---|---|---|
| ORM 框架 | MyBatis | MyBatis-Plus ⭐ |
| 代码加密 | ❌ | ClassFinal 加密 ⭐ |
| 三级等保 | 部分支持 | 完整支持 ⭐ |
| AI 能力 | ❌ | OpenAI 集成 ⭐ |
| 低代码 | ❌ | Magic API ⭐ |
| 数据库 | 仅 MySQL | 多种数据库 ⭐ |
| 多租户 | ❌ | ✅ ⭐ |
四、快速开始
4.1 环境准备
- JDK 17 或 JDK 21
- Maven 3.6+
- MySQL 5.7+ (或其他支持的数据库)
- Redis (用于缓存和会话管理)
4.2 三步启动
第一步:导入数据库
mysql -u root -p < sql/ruoyi-mysql.sql
mysql -u root -p < sql/magic-api-mysql.sql
mysql -u root -p < sql/region-mysql.sql
第二步:修改配置
# application.yml
spring:
profiles:
active: devmy # 选择数据库配置
# application-devmy.yml
spring:
datasource:
url: jdbc:mysql://localhost:3306/ruoyi
username: root
password: your_password
第三步:启动服务
# 编译打包
mvn clean package
# 运行服务
java -jar ruoyi-admin/target/ruoyi-admin.jar
访问系统:
- 后端接口:
http://localhost:8087 - Magic API:
http://localhost:8087/magic/web - 默认账号:admin / jyx_692483
4.3 启动前端
推荐使用 Element Plus 增强版前端:
git clone https://github.com/undsky/RuoYi-SpringBoot3-ElementPlus.git
cd RuoYi-SpringBoot3-ElementPlus
npm install
npm run dev
# 访问:http://localhost:80
五、项目结构
RuoYi-SpringBoot3-Pro
├── ruoyi-admin # 管理后台(启动模块)
├── ruoyi-framework # 框架核心(认证、缓存、配置等)
├── ruoyi-system # 系统模块(用户、角色、菜单等)
├── ruoyi-common # 通用模块(工具类、常量等)
├── ruoyi-biz # ⭐ 业务模块(示例代码)
├── ruoyi-quartz # 定时任务模块
├── ruoyi-generator # 代码生成模块
└── sql # 数据库脚本
核心模块说明:
- ruoyi-admin:整合所有模块,作为启动入口
- ruoyi-biz:新增的业务模块,提供标准化开发示例
- ruoyi-framework:包含 Spring Security、Redis、AI 工具等核心功能
- ruoyi-common:包含 ClassFinal 加密、等保策略等通用功能
六、实战技巧
6.1 代码生成器最佳实践
Pro 版本的代码生成器已针对 MyBatis-Plus 优化:
- 在"代码生成"菜单中选择数据表
- 点击"生成代码"下载压缩包
- 解压后导入项目
生成的代码特点:
- Mapper 自动继承
BaseMapper<T> - 实体类自动添加
@TableName、@TableId注解 - Service 层支持 Lambda 查询
- 自适应当前使用的数据库
6.2 ClassFinal 加密注意事项
<!-- 建议配置 -->
<configuration>
<!-- ✅ 只加密业务模块 -->
<packages>com.ruoyi.biz</packages>
<!-- ❌ 不要加密框架代码 -->
<excludes>org.springframework,com.baomidou</excludes>
<!-- ✅ 使用复杂密码 -->
<password>Secure@Password#2024!</password>
</configuration>
重要提示:
- 加密后的代码无法反编译,务必保管好源代码
- 密码丢失无法恢复,建议写入运维文档
- 生产环境使用更复杂的密码
6.3 等保安全策略配置建议
根据不同安全级别配置:
一般企业:
密码周期:180 天
失败锁定:5-30(5次失败锁定30分钟)
初始密码:开启强制修改
高安全要求(政企):
密码周期:90 天
失败锁定:3-60(3次失败锁定1小时)
初始密码:开启强制修改
IP 黑名单:根据实际情况配置
八、总结
RuoYi-SpringBoot3-Pro 是一个面向企业级应用的快速开发框架,它在若依的基础上做了大量增强:
核心优势:
- 安全可靠:代码加密 + 三级等保,满足政企要求
- 技术先进:Spring Boot 3 + MyBatis-Plus,开发效率高
- 功能丰富:AI 集成 + 低代码 + 多租户,应对复杂场景
- 数据库灵活:支持多种数据库,满足国产化需求
- 完全开源:MIT 协议,商业项目免费使用
292

被折叠的 条评论
为什么被折叠?



