【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日志文件获取详细错误信息,或参考项目文档获取更多技术支持。
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0191
cann-learning-hubCANN 学习中心仓,支持在线互动运行、边学边练,提供教程、示例与优化方案,一站式助力昇腾开发者快速上手。Jupyter Notebook0117
Step-3.7-FlashStep-3.7-Flash是一个拥有 1980 亿参数的稀疏混合专家(MoE)视觉语言模型,由 1960 亿参数的语言主干网络和 18 亿参数的视觉编码器组合而成,具备原生图像理解能力。Python00
JoyAI-EchoJoyAI-Echo,这是一个独立的、仅用于推理的版本,旨在实现分钟级多镜头音视频生成。它采用了经过蒸馏的DMD生成器、配对的跨模态记忆以及故事级别的一致性。其性能的核心在于,一个跨模态视听记忆库能够在长达五分钟的视频中保持角色外观和语音音色的一致性。同时,一个训练后处理流程将基于记忆的强化学习与分布匹配蒸馏相结合,实现了7.5倍的速度提升,显著增强了视觉质量和对齐效果。00
omega-aiOmega-AI:基于java打造的深度学习框架,帮助你快速搭建神经网络,实现模型推理与训练,引擎支持自动求导,多线程与GPU运算,GPU支持CUDA,CUDNN。Java04
llm-universe本项目是一个面向小白开发者的大模型应用开发教程,在线阅读地址:https://datawhalechina.github.io/llm-universe/Jupyter Notebook09







