1965 字
10 分钟
RuoYi 学习路线总览:从 0 到 1 拆解若依后台管理系统

写了几年前端,最近想系统学习 Java 后台开发。选了 RuoYi(若依) 作为切入点——它是一个基于 Spring Boot 的轻量级后台管理系统,核心技术采用 Spring + MyBatis + Shiro,没有过度封装,代码结构清晰,非常适合学习。

这个系列不是”RuoYi 使用手册”,而是一份项目拆解笔记:把若依的 18 个功能模块拆成 12 个学习阶段,每个阶段聚焦一个核心技术点,配上项目中的真实代码片段,方便日后回来快速回忆。

NOTE

阅读顺序建议按下面的阶段编号从头到尾走一遍;已经熟悉的阶段可以直接跳到对应文章当作速查表使用。

项目简介#

维度内容
项目名称RuoYi(若依)
当前版本v4.8.3
技术栈Spring Boot + Spring + MyBatis + Shiro
前端Hplus (H+) 后台主题 UI
JDK 版本支持 8+ / 17+(多版本分支)
数据库MySQL 5.7+ / 8.0+
项目地址https://github.com/yangzongzhuan/RuoYi

内置功能模块#

RuoYi 提供了 18 个开箱即用的功能模块:

序号模块说明
1用户管理系统用户配置、密码加密、状态管理
2部门管理组织机构树结构、数据权限
3岗位管理用户所属职务配置
4菜单管理系统菜单、操作权限、按钮权限标识
5角色管理角色菜单权限分配、数据范围权限
6字典管理固定数据维护(如性别、状态)
7参数管理系统动态配置常用参数
8通知公告系统通知公告信息发布
9操作日志正常操作日志记录和查询
10登录日志登录日志记录查询(含异常)
11在线用户活跃用户状态监控
12定时任务在线任务调度、执行结果日志
13代码生成前后端代码生成(CRUD)
14系统接口自动生成 API 接口文档
15服务监控CPU、内存、磁盘、堆栈监控
16缓存监控缓存查询、删除、清空
17在线构建器拖动表单元素生成 HTML
18连接池监视数据库连接池状态监控

学习路线图#

整个路线拆成 12 个阶段,前 4 个阶段是技术基础,中间 4 个是核心业务模块,最后 4 个是高级特性:

阶段主题关键概念预计投入
一项目概览与环境搭建JDK/Maven/MySQL、项目结构、配置文件半天
二Spring Boot 基础IoC/DI、注解、自动配置、Starter1 天
三MyBatis 与数据库Mapper/XML、CRUD、分页、事务1 天
四Shiro 权限框架认证/授权、Session、Realm、注解1 天
五用户管理模块实体类、Service、Controller、密码加密1 天
六角色与菜单管理RBAC 模型、树形结构、权限分配1 天
七部门与岗位管理数据权限、树形查询、递归半天
八字典与参数管理缓存设计、Redis 集成、配置中心半天
九日志管理AOP 切面、操作日志、登录日志半天
十定时任务Quartz 框架、任务调度、执行日志1 天
十一代码生成器模板引擎、Velocity、自定义生成1 天
十二系统监控Actuator、服务监控、缓存监控半天

阶段索引#

下面是每个阶段对应的文章。链接是站内绝对路径,跟着 base /blog 走:

  1. 阶段一:项目概览与环境搭建
  2. 阶段二:Spring Boot 基础与项目结构
  3. 阶段三:MyBatis 与数据库操作
  4. 阶段四:Shiro 权限框架
  5. 阶段五:用户管理模块
  6. 阶段六:角色与菜单管理
  7. 阶段七:部门与岗位管理
  8. 阶段八:字典与参数管理
  9. 阶段九:日志管理
  10. 阶段十:定时任务
  11. 阶段十一:代码生成器
  12. 阶段十二:系统监控

前端工程师的技术栈对照#

学 RuoYi 之前,先把前端里熟悉的模式映射到 Java 后台:

维度前端 (React/Vue)RuoYi (Java)
项目结构src/components/、src/pages/src/main/java/com/ruoyi/ 按模块分包
依赖管理package.json + npm/pnpmpom.xml + Maven
路由React Router / Vue RouterSpring MVC @RequestMapping
状态管理Redux / Vuex / ZustandShiro Session + Redis 缓存
HTTP 请求axios / fetchSpring RestTemplate / MyBatis SQL
表单验证Formik / VeeValidateHibernate Validator @Valid
权限控制路由守卫 + 按钮级权限Shiro 注解 @RequiresPermissions
组件复用公共组件 / HooksService 层 / 工具类
配置管理.env / config.jsapplication.yml / application-druid.yml
构建工具Vite / WebpackMaven / Gradle
代码生成plop / hygenRuoYi 代码生成器 (Velocity 模板)
TIP

RuoYi 里最像前端的两个地方:

  1. 代码生成器——类似前端的脚手架,根据数据库表生成 CRUD 代码
  2. 树形结构——部门、菜单都是树形数据,和前端 Tree 组件逻辑一致

环境准备(一次性)#

后续每篇文章里的代码都假设你已经完成下面这些准备:

Terminal window
# 1. 装 JDK 17+(推荐 Eclipse Temurin 或 Oracle JDK)
java -version
# openjdk version "17.0.x" ...
# 2. 装 Maven 3.6+
mvn -v
# Apache Maven 3.9.x
# 3. 装 MySQL 5.7+ 或 8.0+
mysql --version
# mysql Ver 8.0.x
# 4. 装 Redis(可选,用于缓存和 Session)
redis-server --version
# Redis server v=7.x
# 5. 装一个 IDE:IntelliJ IDEA Community 免费且开箱即用
# Eclipse 也可以,但 IDEA 对 Spring Boot 支持更好

克隆项目#

Terminal window
# 克隆 RuoYi 项目
git clone https://github.com/yangzongzhuan/RuoYi.git
cd RuoYi
# 导入数据库脚本
# sql/ry_20240629.sql 是主库脚本
# sql/quartz.sql 是定时任务脚本
mysql -u root -p < sql/ry_20240629.sql
mysql -u root -p < sql/quartz.sql

修改配置#

src/main/resources/application-druid.yml
spring:
datasource:
druid:
master:
url: jdbc:mysql://localhost:3306/ry?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
username: root
password: your_password
Terminal window
# 启动项目
mvn spring-boot:run
# 或者直接在 IDEA 里运行 RuoYiApplication.java
# 访问 http://localhost:80
# 默认账号:admin / admin123

项目结构速览#

RuoYi/
├── src/
│ ├── main/
│ │ ├── java/com/ruoyi/
│ │ │ ├── common/ # 公共模块(工具类、常量、异常)
│ │ │ ├── framework/ # 框架核心(Shiro、MyBatis、AOP)
│ │ │ ├── generator/ # 代码生成器
│ │ │ ├── quartz/ # 定时任务
│ │ │ ├── system/ # 系统模块(用户、角色、菜单、部门)
│ │ │ └── web/ # Web 层(Controller)
│ │ └── resources/
│ │ ├── mapper/ # MyBatis XML 映射文件
│ │ ├── static/ # 静态资源(前端页面)
│ │ ├── templates/ # Thymeleaf 模板
│ │ └── application.yml # 配置文件
│ └── test/ # 测试代码
├── sql/ # 数据库脚本
├── pom.xml # Maven 配置
└── README.md # 项目说明

如何使用这个系列复习#

写这个系列时特意做了三件事,方便日后回来”扫一眼就想起来”:

  1. 每篇文章都有”复习卡片”小节,把关键概念压缩成几行代码或一张表,不用重读正文也能回忆起要点。
  2. 每个功能都配项目真实代码,代码块都标注了文件路径,可以直接在 IDEA 里定位。
  3. 每个阶段都有架构图或流程图,帮助理解模块之间的关系。

推荐的复习节奏:

  • 第一次学:按阶段顺序读,每篇结束在 IDEA 里把对应模块的代码翻一遍。
  • 一周后:只看每篇的”复习卡片”和架构图,回忆不起来的再翻正文。
  • 一个月后:把整个系列当作速查手册,遇到具体功能问题直接搜文章内的锚点。
WARNING

光读不写等于没学。每个阶段建议配一个小练习:

  • 阶段一到四:跑通项目,理解启动流程
  • 阶段五到八:给某个模块加一个新字段(如用户加”手机号”)
  • 阶段九到十二:用代码生成器生成一个新模块,并集成到系统中

参考资源#

下一篇从最基础的项目结构和环境搭建开始,把”RuoYi 是怎么跑起来的”讲清楚。

RuoYi 学习路线总览:从 0 到 1 拆解若依后台管理系统
http://117.72.32.87/blog/posts/ruoyi-roadmap-00-overview/
作者
Ethan
发布于
2026-09-07
许可协议
CC BY-NC-SA 4.0