# 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组件,支持微服务架构