# ruoyi框架
**Repository Path**: caoyinga/ruoyi-master
## Basic Information
- **Project Name**: ruoyi框架
- **Description**: ruoyi-master
- **Primary Language**: Unknown
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2025-03-27
- **Last Updated**: 2025-04-23
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# RuoYi 项目架构分析
## 1. 分层结构及交互关系
```mermaid
graph TB
A[Web层] --> B[Service层]
B --> C[DAO层]
C --> D[数据库]
subgraph Web层
A1[Controller] --> A2[拦截器]
A2 --> A3[安全认证]
end
subgraph Service层
B1[业务逻辑] --> B2[事务管理]
B2 --> B3[缓存处理]
end
subgraph DAO层
C1[MyBatis Mapper] --> C2[数据访问]
end
```
## 2. 核心模块划分及职责
```mermaid
graph LR
A[ruoyi-admin] --> B[ruoyi-framework]
A --> C[ruoyi-system]
A --> D[ruoyi-quartz]
A --> E[ruoyi-generator]
A --> F[ruoyi-common]
subgraph 模块职责
B[框架核心模块
安全认证/配置等]
C[系统功能模块
用户/角色/菜单等]
D[定时任务模块
任务调度/执行]
E[代码生成模块
代码自动生成]
F[通用工具模块
工具类/通用方法]
end
```
## 3. 关键技术栈
- 核心框架:Spring Boot 2.5.15
- 安全框架:Apache Shiro 1.13.0
- 模板引擎:Thymeleaf
- 持久层框架:MyBatis
- 数据库连接池:Druid 1.2.23
- 缓存框架:EhCache
- 分页插件:PageHelper 1.4.7
- 数据库:MySQL(从配置推断)
- 日志框架:Logback 1.2.13
- API文档:Swagger 3.0.0
- JSON工具:Fastjson 1.2.83
- 其他工具:Apache POI(Excel)、Velocity(代码生成)
## 4. 关键配置项
```yaml
# 核心配置
server:
port: 8081
servlet:
context-path: /
# 安全配置
shiro:
user:
loginUrl: /login
captchaEnabled: true
session:
expireTime: 30
maxSession: -1
# 持久层配置
mybatis:
typeAliasesPackage: com.ruoyi.**.domain
mapperLocations: classpath*:mapper/**/*Mapper.xml
configLocation: classpath:mybatis/mybatis-config.xml
# 性能配置
spring:
servlet:
multipart:
max-file-size: 10MB
max-request-size: 20MB
devtools:
restart:
enabled: true
# 安全防护
xss:
enabled: true
urlPatterns: /system/*,/monitor/*,/tool/*
```
## 系统特点
1. 采用前后端分离架构,使用Thymeleaf作为模板引擎
2. 完善的权限管理系统,基于Shiro实现
3. 支持多数据源配置,使用Druid连接池
4. 集成代码生成功能,提高开发效率
5. 包含定时任务调度功能
6. 提供完整的日志管理功能
7. 系统监控功能,包括在线用户、服务器性能等
8. 支持国际化配置
9. 包含防XSS攻击等安全特性
## 建议改进点
1. Spring Boot版本可以考虑升级到3.x以获得更好的性能和新特性
2. 考虑引入Redis等分布式缓存,提升系统性能
3. 可以考虑引入消息队列,处理异步任务
4. 建议增加容器化部署配置(Docker)
5. 可以考虑引入Spring Cloud组件,支持微服务架构