若依前后端分离版学习笔记(四)——目录文件及主配置文件介绍

72 阅读6分钟

一 后端

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>