若依前后端分离版学习笔记(四)——目录文件及主配置文件介绍
一 后端
1 概览
主要模块
后端代码主要分6个模块:ruoyi-admin、ruoyi-common、ruoyi-framework、ruoyi-generator、rouyi-quartz、ruoyi-system。其中ruoyi-admin为框架的web项目,也是通过该子项目来启动后台,其它子项目是它的依赖。
通过ruoyi-admin可以看出它主要依赖于ruoyi-framework、rouyi-quartz、ruoyi-generator。
ruoyi-framework依赖于ruoyi-system,ruoyi-generator和rouyi-quartz依赖于ruoyi-common。
其它部分
- bin:maven的clean,package以及后台启动脚本
- doc:ruoyi使用手册
- sql:数据库初始化脚本
- ruoyi.bat:封装的Windows环境的后台启动,停止,重启,状态脚本
- ruoyi.sh:封装的Linux环境的后台启动,停止,重启,状态脚本
2 ruoyi-admin
系统入口 & 整合中心
- controller:接口
- common:通用处理、验证码、上传下载
- monitor:系统监控、服务、访问记录、操作日志、在线用户
- system:参数配置、部门信息、数据字典、首页、登录验证、注册验证以及菜单信息、公告 信息、岗位信息、个人信息、角色信息、用户信息操作处理接口(其中service在ruoyi-system下,domain在ruoyi-common下)
- tool:用户相关测试接口
- core
- config:Swagger2的接口配置
- RuoYiApplication:后台启动类
- RuoYiServletInitializer:war包入口
- resources
- i18n:国际化配置
- META-INF:热部署配置文件
- mybatis:mybatis全局配置
- application.yml:主配置文件
- application-druid.yml:数据源相关配置
- banner.txt:启动显示图标
- logback.xml:日志相关配置
- pom:maven依赖
3 ruoyi-common
公共基础设施库
- annotation:自定义注解
- config:读取项目相关配置、数据脱敏序列化过滤配置
- constant:常量
- core:核心控制,接口、domain、redis工具类等
- enums:枚举类
- exception:自定义异常类
- filter:过滤器
- utils:工具代码包
- xss:自定义xss校验注解
4 ruoyi-framework
框架核心引擎
- aspectj:AspectJ实现的切面类,数据过滤,多数据源,操作日志记录处理,限流处理
- config:系统加载配置
- datasource:数据源切换控制
- interceptor:拦截器,主要防重复提交
- manager:异步处理、日志、关闭线程
- security:安全控制相关,身份、权限认证等
- web:前端控制,登录校验,权限验证等controller、domain、全局异常处理
5 ruoyi-generator
自动化代码生成器
- config:读取代码生成相关配置
- controller:代码生成 操作处理接口
- domain:代码生成domain
- mapper:代码生成数据层
- service:代码生成服务
- uitil:代码生成工具类,代码生成器,VelocityEngine工厂,模板处理工具类
- resource
- vm:Velocity模板文件,代码生成器的核心组成部分
6 ruoyi-quartz
定时任务调度中心
- controller:调度任务信息处理、调度日志操作处理接口
- domain:定时任务调度,任务调度日志domain
- mapepr:调度任务信息处理、调度日志操作处理数据层
- service:调度任务信息处理、调度日志操作处理服务层
- task:定时任务调度测试
- util:定时任务工具类,抽象quartz调用,cron表达式等
7 ruoyi-system
系统核心业务功能实现
- domain:系统核心业务domain
- mapper:系统核心业务数据层
- service:系统核心业务服务层
二 前端
1 概览
bin文件夹下是打包,运行的批处理文件,html是静态html页面,public文件夹下是公共图标,src文件夹是前端相关源码,vite文件夹是Vite配置扩展
2 src前端源码
- api:所有api请求封装
- monitor:监控模块API调用方法
- system:系统模块API调用方法
- tool:工具API调用方法
- login.js:登录API调用方法
- menu.js:菜单API调用方法
- assets:静态资源
- icons:图标
- styles:css样式
- images:图片
- components:全局组件库
- directive:自定义Vue指令,权限控制,复制文本内容
- layout:布局组件
- plugins:全局工具方法,缓存,验证,下载等
- router:路由配置
- index.js:路由定义
- store:状态管理
- utils:工具函数
- views:业务页面
- App.vue:根组件
- main.js:应用入口
- permission.js:路由守卫和权限控制
- settings.js:全局项目配置
3 其它
- .env.development: 开发环境配置
- .env.production: 生产环境配置
- .env.staging: 测试环境配置
- package.json: 依赖模块配置,启动命令
- READEME.md: 描述文件
- vite.config.js:vite配置文件
三 主要配置文件
1 ruoyi-admin的application.yml
项目主要配置文件,原有注释已经很详细了
# 项目相关配置ruoyi: # 名称 name: RuoYi # 版本 version: 3.9.0 # 版权年份 copyrightYear: 2025 # 文件路径 示例( Windows配置D:/ruoyi/uploadPath,Linux配置 /home/ruoyi/uploadPath) profile: D:/ruoyi/uploadPath # 获取ip地址开关 addressEnabled: false # 验证码类型 math 数字计算 char 字符验证 captchaType: math# 开发环境配置server: # 服务器的HTTP端口,默认为8080 port: 8080 servlet: # 应用的访问路径 context-path: / tomcat: # tomcat的URI编码 uri-encoding: UTF-8 # 连接数满后的排队数,默认为100 accept-count: 1000 threads: # tomcat最大线程数,默认为200 max: 800 # Tomcat启动初始化的线程数,默认值10 min-spare: 100# 日志配置logging: level: com.ruoyi: debug org.springframework: warn# 用户配置user: password: # 密码最大错误次数 maxRetryCount: 5 # 密码锁定时间(默认10分钟) lockTime: 10# Spring配置spring: # 资源信息 messages: # 国际化资源文件路径 basename: i18n/messages profiles: active: druid # 文件上传 servlet: multipart: # 单个文件大小 max-file-size: 10MB # 设置总上传的文件大小 max-request-size: 20MB # 服务模块 devtools: restart: # 热部署开关 enabled: true # redis 配置 redis: # 地址 host: localhost # 端口,默认为6379 port: 6379 # 数据库索引 database: 0 # 密码 password: # 连接超时时间 timeout: 10s lettuce: pool: # 连接池中的最小空闲连接 min-idle: 0 # 连接池中的最大空闲连接 max-idle: 8 # 连接池的最大数据库连接数 max-active: 8 # #连接池最大阻塞等待时间(使用负值表示没有限制) max-wait: -1ms# token配置token: # 令牌自定义标识 header: Authorization # 令牌密钥 secret: abcdefghijklmnopqrstuvwxyz # 令牌有效期(默认30分钟) expireTime: 30# MyBatis配置mybatis: # 搜索指定包别名 typeAliasesPackage: com.ruoyi.**.domain # 配置mapper的扫描,找到所有的mapper.xml映射文件 mapperLocations: classpath*:mapper/**/*Mapper.xml # 加载全局的配置文件 configLocation: classpath:mybatis/mybatis-config.xml# PageHelper分页插件pagehelper: helperDialect: mysql supportMethodsArguments: true params: count=countSql# Swagger配置swagger: # 是否开启swagger enabled: true # 请求前缀 pathMapping: /dev-api# 防止XSS攻击xss: # 过滤开关 enabled: true # 排除链接(多个用逗号分隔) excludes: /system/notice # 匹配链接 urlPatterns: /system/*,/monitor/*,/tool/*
- 项目配置
ruoyi部分配置可以通过模块ruoyi-common中的com.ruoyi.common.config.RuoYiConfig类去获取, addressEnabled: false是获取ip开关,其获取ip的类为ruoyi-common中的com.ruoyi.common.utils.ip.AddressUtils。 - 开发环境配置
context-path: / 应用访问路径,接口地址上下文,如context-path: /admin 接口地址 http://localhost:8080/admin - MyBatis配置
typeAliasesPackage: com.ruoyi.**.domain 指定包别名,resultType映射查询或parameterType基于Java Bean为SQL脚本传参无需每次配置完全限定名(包名+类名)如:
<select id=\"getUser\" resultType=\"com.wiener.study.pojo.User\" parameterType=\"int\"></select><select id=\"getUser\" resultType=\"User\" parameterType=\"int\"></select>