当前位置: 首页 > ops >正文

若依(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 框架通过后端模块化、前端组件化,以及完善的表结构设计,实现了高可扩展、高维护性和低上手门槛。

  • 后端:职责分明、易于定制和扩展

  • 前端:结构规范、开发体验好

  • 表结构:支持通用后台的所有核心功能,便于二次开发

http://www.xdnf.cn/news/15343.html

相关文章:

  • [Dify]-进阶1- Dify 支持的多种 AI 模型解析与选择建议
  • Linux修炼:自动化构建make/Makefile
  • sshpass原理详解及自动化运维实践
  • 微软发布BioEmu模型
  • 【FPGA】AXI总线协议
  • 动态规划题解——单词拆分【LeetCode】
  • VScode链接服务器一直卡在下载vscode服务器,无法连接成功
  • 企业数字化资产管理安全、成本、协作困局难解?
  • MYSQL数据库----DCL语句
  • Linux进程状态实战指南:转换关系、监控命令与状态解析
  • 从代码学习深度强化学习 - DDPG PyTorch版
  • python赤道上空的大气环流剖面图(纬向-高度剖面)
  • 代理模式:控制对象访问
  • Spring AI 项目实战(十七):Spring Boot + AI + 通义千问星辰航空智能机票预订系统(附完整源码)
  • 无缝衔接直播流体验
  • 数据结构 单链表(1)
  • Acrobat 表单中的下拉菜单(附示例下载)
  • ESP-Timer入门(基于ESP-IDF-5.4)
  • 插入类排序的C语言实现
  • Java小白-设计模式
  • C#单例模式管理全局变量
  • OSPF与BGP的联动特性实验案例
  • OSPF与BGP的联动特性
  • Java设计模式之行为型模式(命令模式)
  • 单例模式:确保全局唯一实例
  • Vue文件上传实战指南
  • 【OpenGL 渲染器开发笔记】1 为什么要设计渲染器?
  • Dubbo-Admin 安装与使用指南:可视化管理 Dubbo 服务
  • 初识drag2框架,drag2注入的基本原理
  • 常用的docker命令备份