惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

人人都是产品经理
人人都是产品经理
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
P
Privacy International News Feed
Simon Willison's Weblog
Simon Willison's Weblog
I
Intezer
Spread Privacy
Spread Privacy
The Hacker News
The Hacker News
P
Palo Alto Networks Blog
TaoSecurity Blog
TaoSecurity Blog
S
Secure Thoughts
Google Online Security Blog
Google Online Security Blog
H
Heimdal Security Blog
N
News | PayPal Newsroom
Attack and Defense Labs
Attack and Defense Labs
Recent Commits to openclaw:main
Recent Commits to openclaw:main
博客园 - 【当耐特】
Webroot Blog
Webroot Blog
小众软件
小众软件
Help Net Security
Help Net Security
D
Darknet – Hacking Tools, Hacker News & Cyber Security
N
News and Events Feed by Topic
Hacker News - Newest:
Hacker News - Newest: "LLM"
PCI Perspectives
PCI Perspectives
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
The Cloudflare Blog
Cloudbric
Cloudbric
AI
AI
WordPress大学
WordPress大学
博客园 - 聂微东
Jina AI
Jina AI
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园 - 三生石上(FineUI控件)
Hacker News: Ask HN
Hacker News: Ask HN
H
Hacker News: Front Page
博客园 - Franky
V
V2EX
Schneier on Security
Schneier on Security
G
GRAHAM CLULEY
S
SegmentFault 最新的问题
有赞技术团队
有赞技术团队
H
Help Net Security
量子位
S
Security @ Cisco Blogs
大猫的无限游戏
大猫的无限游戏
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Recorded Future
Recorded Future
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
J
Java Code Geeks
C
Cisco Blogs
S
Security Affairs

博客园 - lizhigang

DBeaver 打开 utf8的sql文件 SMT 贴片机与 MES 系统集成指南 容器访问外部服务(10.100.1.90:9090)防火墙规则配置总结 Docker 容器间通信故障排查与修复操作总结 Docker 容器部署与运维总结报告 Nginx Docker 容器白名单配置操作总结 使用 pnpm 构建 Vue2 项目操作总结(Node 16 → Node 22) 前端项目 Docker 镜像构建完整操作总结 Windows 11 下使用 MySQL Workbench 还原多数据库备份文件操作指南 在 WSL2 + Docker Desktop 环境下构建前后端 Docker 镜像 从内网私有仓库迁移镜像到阿里云 ACR 完整指南 wsl网络设置允许访问ssh(端口22) 在 Windows 11 上安装 Docker Nginx配置 访问数据库报错 Windows系统运行RuoYi-Vue完整指南 win11 报错 windows 11 如何使用 Microsoft Hyper-V VMware 替代产品 IntelliJ IDEA 社区版支持 Spring Boot 开发说明文档 imes开发部署(IDEA社区版 差异) IntelliJ IDEA 社区版默认支持 Spring Boot 吗? imes开发部署 IDEA 端口被占用 解决办法 使用MySQL Workbench进行数据库备份 ruoyi-nbcio ktg-mes、ktm-mes-ui部署 Widows下安装和配置Redis Windows下Redis安装与配置全攻略 mes开源 imes:注意 若依框架:开源
RuoYi-Vue 项目结构分析
lizhigang · 2026-03-17 · via 博客园 - lizhigang

我需要查看项目的根目录结构,了解项目的整体组织方式。

toolName: view_folder

status: success

e:\06研发中心\GIT\RuoYi\RuoYi-Vue-master

继续查看项目结构,特别是前端部分,因为项目名称包含"Vue"。

toolName: view_folder

status: success

e:\06研发中心\GIT\RuoYi\RuoYi-Vue-master\ruoyi-ui

RuoYi-Vue 项目结构分析

项目概述

RuoYi-Vue 是一个基于 Spring Boot + Vue.js 的前后端分离企业级后台管理系统。该项目采用了典型的分层架构设计,后端使用 Java 语言开发,前端使用 Vue.js 框架构建。

项目结构

1. 后端结构

ruoyi-admin/          # 后端主应用模块
├── src/
│   ├── main/java/com/ruoyi/
│   │   ├── web/controller/  # 控制器层
│   │   │   ├── common/      # 通用控制器
│   │   │   ├── monitor/     # 监控相关控制器
│   │   │   ├── system/      # 系统管理控制器
│   │   │   └── tool/        # 工具控制器
│   │   ├── core/            # 核心配置
│   │   ├── RuoYiApplication.java  # 应用启动类
│   │   └── RuoYiServletInitializer.java  # Servlet初始化
│   └── resources/           # 资源文件
│       ├── i18n/            # 国际化资源
│       ├── mybatis/         # MyBatis配置
│       ├── application.yml  # 应用配置
│       └── application-druid.yml  # 数据库连接配置
└── pom.xml                # Maven配置文件

ruoyi-common/         # 通用模块
├── src/main/java/com/ruoyi/common/
│   ├── annotation/    # 自定义注解
│   ├── config/        # 配置类
│   ├── constant/      # 常量定义
│   ├── core/          # 核心类
│   ├── enums/         # 枚举类
│   ├── exception/     # 异常处理
│   ├── filter/        # 过滤器
│   ├── utils/         # 工具类
│   └── xss/           # XSS防护
└── pom.xml

ruoyi-framework/      # 框架核心模块
├── src/main/java/com/ruoyi/framework/
│   ├── aspectj/       # AOP切面
│   ├── config/        # 配置类
│   ├── datasource/    # 数据源配置
│   ├── interceptor/   # 拦截器
│   ├── manager/       # 管理器
│   └── security/      # 安全相关
└── pom.xml

2. 前端结构

ruoyi-ui/             # 前端模块
├── src/
│   ├── api/          # API接口调用
│   │   ├── monitor/  # 监控相关API
│   │   ├── system/   # 系统管理API
│   │   └── tool/     # 工具API
│   ├── assets/       # 静态资源
│   │   ├── icons/    # 图标
│   │   ├── images/   # 图片
│   │   └── styles/   # 样式文件
│   ├── components/   # 组件
│   ├── directive/    # 指令
│   ├── layout/       # 布局
│   ├── plugins/      # 插件
│   ├── router/       # 路由
│   ├── store/        # 状态管理
│   ├── utils/        # 工具类
│   ├── views/        # 视图
│   ├── App.vue       # 根组件
│   ├── main.js       # 入口文件
│   ├── permission.js # 权限控制
│   └── settings.js   # 系统设置
├── public/           # 公共资源
├── build/            # 构建配置
├── .env.development  # 开发环境配置
├── .env.production   # 生产环境配置
├── .env.staging      # 测试环境配置
└── package.json      # 依赖配置

技术栈分析

后端技术

  • 语言: Java
  • 框架: Spring Boot
  • ORM: MyBatis
  • 数据库连接池: Druid
  • 安全框架: Spring Security
  • 缓存: Redis
  • 日志: Logback
  • API文档: Swagger

前端技术

  • 框架: Vue.js
  • 状态管理: Vuex
  • 路由: Vue Router
  • UI组件库: Element UI
  • HTTP客户端: Axios
  • 构建工具: Webpack
  • CSS预处理器: SCSS

核心功能模块

1. 系统管理

  • 用户管理
  • 角色管理
  • 菜单管理
  • 部门管理
  • 岗位管理
  • 字典管理
  • 参数配置
  • 通知公告

2. 监控中心

  • 在线用户
  • 登录日志
  • 操作日志
  • 系统监控
  • 缓存监控
  • 任务调度

3. 工具模块

  • 代码生成
  • 表单构建

架构特点

  1. 前后端分离: 后端提供RESTful API,前端通过Axios调用
  2. 分层架构: 后端采用经典的三层架构(控制器-服务-数据访问)
  3. 安全设计: 实现了基于JWT的认证机制和细粒度的权限控制
  4. 模块化设计: 后端按功能模块划分,前端按业务逻辑组织
  5. 国际化支持: 内置了国际化资源文件
  6. 缓存策略: 使用Redis进行缓存管理
  7. 异常处理: 统一的异常处理机制
  8. 日志记录: 完善的日志记录系统

项目启动方式

后端启动

  1. 配置数据库连接(ruoyi-admin/src/main/resources/application-druid.yml
  2. 运行 RuoYiApplication.java 启动类
  3. 访问 http://localhost:8080

前端启动

  1. 安装依赖:npm install
  2. 启动开发服务器:npm run dev
  3. 访问 http://localhost:80

总结

RuoYi-Vue 是一个功能完善、架构清晰的企业级后台管理系统框架。它提供了完整的用户管理、权限控制、系统监控等功能,同时采用了现代化的前后端分离架构,适合作为各类企业应用的基础框架。

项目的模块化设计和清晰的代码结构使得它易于扩展和维护,是学习Spring Boot和Vue.js集成开发的优秀案例。