若依(RuoYi)框架项目结构全解析
若依后端、前端与表结构一体化梳理
若依(RuoYi)作为国内最流行的 Spring Boot 前后端分离开发平台之一,广泛应用于企业后台、低代码、通用管理系统开发。为了方便新人快速上手和后期维护,这里基于“后端部分、前端部分、表结构”三大板块,对其核心项目结构做一次系统梳理。
一、后端部分结构
RuoYi 的后端采用模块化设计,核心是基于 Spring Boot + MyBatis,分层清晰、解耦高效。
主要目录和模块说明
ruoyi-admin:后台服务接口层,主要负责 Controller 层入口和全局管理。
ruoyi-system:系统业务模块,核心业务实现(如用户、角色、菜单等)。
ruoyi-common:通用工具类和全局配置(如通用返回对象、常量、工具包)。
ruoyi-framework:框架整合和主流程(安全、日志、异常、认证等)。
ruoyi-generator:代码生成模块,自动化生成 CRUD 代码,提升开发效率(可选)。
ruoyi-quartz:定时任务调度模块,集成 Quartz,支持定时任务(可选)。
ruoyi-ui:前端资源目录。
sql:数据库表结构及初始化数据脚本。
业务分层示例(以 ruoyi-system 为例):
domain:实体类/数据模型(与数据库表对应)
mapper:数据访问层(MyBatis 映射接口)
service:业务逻辑层
controller(一般在 ruoyi-admin):控制层,对接前端
配置文件说明(以 ruoyi-admin/resources 为例):
application.yml:核心配置(端口、全局参数等)
application-druid.yml:数据库连接池配置
logback.xml:日志输出配置
mybatis/:MyBatis 相关 XML 文件
i18n/:国际化资源
META-INF/:元数据配置
二、前端部分结构
若依前端以 Vue3 + Vite 技术栈为主,采用现代化组件式开发和高内聚低耦合设计,目录结构简明。
主要目录和文件说明
node_modules/:第三方依赖包
public/:静态资源目录(如favicon等)
src/:核心业务代码目录(重点)
api/:与后端交互的 API 管理
assets/:静态资源(图片、字体等)
components/:通用组件(如表格、弹窗等)
views/:页面组件(每个页面一个 .vue 文件)
router/:路由配置,页面跳转管理
store/:全局状态管理(如用户信息、主题等)
utils/:通用工具函数
layout/:整体布局相关组件
plugins/:项目用到的插件
directive/:自定义指令
App.vue:项目根组件
main.js:项目入口,初始化核心功能
settings.js:全局配置
permission.js:权限路由拦截
vite.config.js:Vite 项目配置(端口、代理等)
package.json:项目信息及依赖配置
.env.development/.env.production:多环境变量配置
三、数据库表结构
若依的表结构高度规范,支撑后台管理系统的全部核心功能。常用表可分为如下几大类:
1. 代码生成相关
gen_table、gen_table_column
实现自动化代码生成,快速搭建新业务模块。
2. 数据字典相关
sys_dict_type、sys_dict_data
实现全局下拉选项、静态参数的集中管理。
3. 定时任务相关
sys_job、sys_job_log
系统定时任务调度与日志。
4. 日志与公告
sys_loginfor、sys_oper_log
系统访问与操作日志,方便运维和安全审计。sys_notice、sys_config
通知公告、参数配置灵活调整。
5. 权限系统(RBAC)相关
sys_user、sys_role、sys_dept、sys_post
用户、角色、部门、岗位四大实体,描述组织架构。sys_menu
菜单权限(页面、按钮、API级权限控制)sys_user_role、sys_user_post、sys_role_menu、sys_role_dept
多对多关联表,实现灵活的角色、权限、数据范围管理。
通过这些表,可以实现用户、角色、权限的灵活分配,以及日志审计、公告推送、定时任务等多种通用后台需求。
总结
RuoYi 框架通过后端模块化、前端组件化,以及完善的表结构设计,实现了高可扩展、高维护性和低上手门槛。
后端:职责分明、易于定制和扩展
前端:结构规范、开发体验好
表结构:支持通用后台的所有核心功能,便于二次开发