【ruoyi-vue-pro】:核心功能快速落地指南
ruoyi-vue-pro是基于Spring Boot + MyBatis Plus + Vue & Element实现的企业级后台管理系统,集成了RBAC动态权限、数据权限、SaaS多租户、Flowable工作流等核心功能。本文将通过"准备-部署-验证-进阶"四阶段框架,帮助你快速掌握项目的环境配置、服务部署与功能使用,实现从环境搭建到业务落地的全流程贯通。
[准备阶段] 开发环境全景配置 🛠️
环境依赖矩阵
| 组件 | 最低版本 | 推荐版本 | 功能作用 |
|---|---|---|---|
| JDK | 1.8 | 17 | 应用运行基础环境 |
| MySQL | 5.7 | 8.0 | 关系型数据存储 |
| Redis | 5.0 | 6.2 | 缓存与会话管理 |
| Maven | 3.6 | 3.8 | Java项目构建工具 |
| Node.js | 14.0 | 16.15 | 前端项目构建环境 |
环境搭建双方案
方案A:命令行极速部署
# 1. 克隆项目代码
git clone https://gitcode.com/yudaocode/ruoyi-vue-pro
# 2. 安装JDK (Ubuntu示例)
sudo apt update && sudo apt install openjdk-17-jdk
# 3. 安装MySQL (使用Docker)
docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 --name ruoyi-mysql mysql:8.0
# 4. 安装Redis (使用Docker)
docker run -d -p 6379:6379 --name ruoyi-redis redis:6.2
# 5. 安装Node.js
curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash -
sudo apt install nodejs
方案B:图形界面安装
- JDK安装:从Oracle官网下载JDK 17安装包,双击执行安装向导
- MySQL安装:使用MySQL Installer安装8.0版本,勾选"Developer Default"配置
- Redis安装:下载Redis Desktop Manager,解压后双击redis-server.exe启动
- 开发工具:安装IntelliJ IDEA Ultimate版,安装Vue.js、Maven插件
开发工具配置
| 工具 | 推荐配置 | 用途 |
|---|---|---|
| IntelliJ IDEA | 启用Lombok插件、配置Maven路径 | 后端开发与调试 |
| VS Code | 安装Vetur、ESLint插件 | 前端代码编辑 |
| Navicat | 配置数据库连接池 | 数据库管理 |
| Redis Desktop Manager | 可视化键值管理 | Redis数据查看 |
⚠️ 常见误区:开发环境中同时存在多个JDK版本时,需通过
java -version确认当前生效版本,避免因版本不匹配导致编译错误。
[部署阶段] 核心服务部署矩阵 🚀
系统架构概览
ruoyi-vue-pro采用分层微服务架构,前端通过Nginx接入,后端基于Spring Boot构建,集成多种中间件实现高可用设计:
数据库部署
方式一:命令行初始化
# 1. 登录MySQL创建数据库
mysql -uroot -p123456 -e "CREATE DATABASE ruoyi-vue-pro CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;"
# 2. 导入SQL脚本
cd ruoyi-vue-pro/sql/mysql
mysql -uroot -p123456 ruoyi-vue-pro < ruoyi-vue-pro.sql
mysql -uroot -p123456 ruoyi-vue-pro < quartz.sql
方式二:图形工具导入
- 打开Navicat,连接本地MySQL服务器
- 新建数据库
ruoyi-vue-pro,字符集选择utf8mb4 - 右键数据库选择"运行SQL文件",依次导入
ruoyi-vue-pro.sql和quartz.sql
⚠️ 常见误区:导入SQL脚本时出现"Unknown collation: 'utf8mb4_unicode_ci'"错误,需检查MySQL版本是否低于5.7,或修改脚本中字符集为
utf8_general_ci。
后端服务配置
配置决策树
是否需要多数据源?
├─ 是 → 修改dynamic-datasource配置
└─ 否 → 配置单一master数据源
├─ 是否使用连接池?
│ ├─ 是 → 配置druid参数
│ └─ 否 → 使用默认HikariCP
└─ 是否启用读写分离?
├─ 是 → 配置slave数据源
└─ 否 → 完成基础配置
配置文件修改
编辑yudao-server/src/main/resources/application-local.yaml:
spring:
datasource:
dynamic:
primary: master
datasource:
master:
url: jdbc:mysql://127.0.0.1:3306/ruoyi-vue-pro?useSSL=false&serverTimezone=Asia/Shanghai
username: root
password: 123456
redis:
host: 127.0.0.1
port: 6379
database: 0
timeout: 2000
服务启动双方案
方案A:Maven命令启动
# 项目根目录执行
mvn clean install -DskipTests
cd yudao-server
mvn spring-boot:run
方案B:IDE启动
- 在IntelliJ IDEA中打开项目
- 找到
YudaoServerApplication.java - 右键选择"Run YudaoServerApplication"
前端项目部署
Vue3版本启动
# 进入前端目录
cd yudao-ui/yudao-ui-admin-vue3
# 安装依赖
npm install --registry=https://registry.npmmirror.com
# 启动开发服务
npm run dev
配置调整
修改src/config/index.ts中的API基础路径:
export default {
// 后端API地址
baseURL: import.meta.env.VITE_API_URL || 'http://localhost:48080',
// 超时时间(毫秒)
timeout: 15000,
// 接口成功状态码
successCode: 200
}
[验证阶段] 系统功能验证矩阵 ✅
服务可用性验证
| 服务 | 验证地址 | 预期结果 |
|---|---|---|
| 后端服务 | http://localhost:48080 | 返回404页面(正常) |
| Swagger文档 | http://localhost:48080/swagger-ui | 显示API文档界面 |
| 健康检查 | http://localhost:48080/actuator/health | 返回{"status":"UP"} |
| 前端服务 | http://localhost:80 | 显示登录界面 |
数据库监控面板
系统内置MySQL监控功能,可直观查看SQL执行情况、连接池状态等关键指标:
Redis监控面板
Redis监控提供缓存使用情况、命令统计等实时数据:
Java应用监控
通过Spring Boot Admin实现JVM、线程、内存等指标监控:
[进阶阶段] 功能模块速览 🌟
基础设施模块
基础设施模块提供系统运行所需的核心支撑能力,包括代码生成、文件服务、定时任务等关键功能:
适用场景:
- 快速开发:通过代码生成器自动生成CRUD代码
- 文件管理:实现本地、云存储等多策略文件存储
- 任务调度:配置定时任务实现自动化业务处理
系统管理模块
系统管理模块提供用户、权限、租户等核心功能管理:
核心功能:
- 账号体系:支持OAuth2.0、SSO单点登录
- 权限控制:RBAC功能权限与数据权限分离
- 租户管理:SaaS多租户架构支持
工作流模块
基于Flowable的工作流引擎,支持可视化流程设计与任务审批:
使用流程:
- 通过BPMN设计器创建流程模型
- 配置流程表单与审批规则
- 发起流程实例并进行审批流转
- 查看流程状态与历史记录
代码生成工具
系统提供可视化代码生成功能,支持单表、树表、主子表等多种生成模式:
使用步骤:
- 在"代码生成"菜单选择数据表
- 配置生成参数(包名、模块名等)
- 预览并生成代码
- 下载代码包并集成到项目
[优化阶段] 性能调优实践 ⚡
数据库优化
-- 为高频查询字段添加索引
CREATE INDEX idx_sys_user_username ON sys_user(username);
CREATE INDEX idx_sys_role_code ON sys_role(role_code);
CREATE INDEX idx_sys_menu_path ON sys_menu(path);
-- 优化连接池配置
SET GLOBAL innodb_buffer_pool_size = 1G; -- 设置为服务器内存的50%左右
Redis性能调优
spring:
redis:
lettuce:
pool:
max-active: 50 # 最大连接数
max-idle: 20 # 最大空闲连接
min-idle: 5 # 最小空闲连接
max-wait: 3000 # 连接等待时间
timeout: 2000 # 连接超时时间
JVM参数调优
# 启动参数示例
java -Xms1024m -Xmx2048m -XX:+UseG1GC -XX:MaxGCPauseMillis=200 \
-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=./logs/heapdump.hprof \
-jar yudao-server.jar
故障排除流程图
服务启动失败
├─ 检查端口是否占用 → netstat -tulpn | grep 48080
├─ 检查数据库连接 → 测试JDBC URL连通性
├─ 检查Redis状态 → redis-cli ping
└─ 查看日志文件 → 定位具体错误信息
├─ 数据库错误 → 检查账号密码和权限
├─ 依赖冲突 → mvn dependency:tree排查
└─ 配置错误 → 对比示例配置文件
总结
通过本文介绍的"准备-部署-验证-进阶"四阶段流程,你已经掌握了ruoyi-vue-pro项目的环境搭建、服务部署和功能使用方法。项目提供的丰富功能模块和性能优化策略,能够满足企业级应用开发的各种需求。建议后续深入学习代码生成器使用、工作流设计和微服务改造等高级特性,进一步发挥项目的强大能力。
在实际开发过程中,遇到问题可通过查看~/logs/yudao-server.log日志文件获取详细错误信息,或参考项目文档获取更多技术支持。
GLM-5智谱 AI 正式发布 GLM-5,旨在应对复杂系统工程和长时域智能体任务。Jinja00
LongCat-AudioDiT-1BLongCat-AudioDiT 是一款基于扩散模型的文本转语音(TTS)模型,代表了当前该领域的最高水平(SOTA),它直接在波形潜空间中进行操作。00
jiuwenclawJiuwenClaw 是一款基于openJiuwen开发的智能AI Agent,它能够将大语言模型的强大能力,通过你日常使用的各类通讯应用,直接延伸至你的指尖。Python0245- QQwen3.5-397B-A17BQwen3.5 实现了重大飞跃,整合了多模态学习、架构效率、强化学习规模以及全球可访问性等方面的突破性进展,旨在为开发者和企业赋予前所未有的能力与效率。Jinja00
AtomGit城市坐标计划AtomGit 城市坐标计划开启!让开源有坐标,让城市有星火。致力于与城市合伙人共同构建并长期运营一个健康、活跃的本地开发者生态。01
HivisionIDPhotos⚡️HivisionIDPhotos: a lightweight and efficient AI ID photos tools. 一个轻量级的AI证件照制作算法。Python05







