初识 RuoYi-Vue

初识 RuoYi-Vue

项目介绍

  • RuoYi-Vue 是什么?

    RuoYi-Vue 是一个 Java EE 企业级快速开发平台,基于经典技术组合(Spring Boot、Spring Security、MyBatis、Jwt、Vue),内置模块如:部门管理、角色用户、菜单及按钮授权、数据权限、系统参数、日志管理、通知公告、代码生成等。在线定时任务配置,支持集群,支持多数据源,支持分布式事务等。

    RuoYi-Vue 官方文档:RuoYi-Vue

  • RuoYi-Vue 和 RuoYi 是什么关系?

    一般而言 RuoYi 是指 RuoYi 家族,具体而言 RuoYi 是指 RuoYi 家族中一个特定的版本(前后端不分离版本),通常别人问你"你项目有没有使用 RuoYi",是问你有没有使用 RuoYi 家族中的一个版本,而不是问你是否使用的是前后端不分离版,所以后续我们直接讲 RuoYi 都是指 RuoYi 家族,而不是特指 RuoYi 前后端不分离版。

    RuoYi-Vue 是 RuoYi 家族中的一个版本,RuoYi 有很多版本,前后端不分离版(RuoYi)、前后端分离版(RuoYi-Vue)、微服务版(RuoYi-Cloud)、移动版(RuoYi)。

项目技术栈

后端技术栈

分类 技术 / 框架 作用
核心框架 Spring Boot 2.x 后端主框架,项目启动、自动配置
Spring 5.x IOC、AOP、事务管理
安全权限 Spring Security 登录认证、权限控制
JWT (jjwt) 无状态令牌认证,前后端分离专用
数据层 MyBatis / MyBatis-Plus 数据库操作、CRUD、分页
MySQL 主数据库
Redis 缓存、Token 存储、字典缓存
工具类 Lombok 简化 Java 代码(get/set/ 日志)
Hutool 通用工具库(字符串、日期、加密)
PageHelper 分页插件
任务 Quartz 定时任务
文档 Knife4j(Swagger) 接口文档生成、在线调试
构建 Maven 依赖管理、项目打包

前端技术栈

分类 技术 / 框架 作用
核心框架 Vue 2.x 前端核心框架
Vue Router 3.x 路由跳转、权限控制
Vuex 3.x 全局状态管理(用户、菜单、权限)
UI 组件 Element UI 后台管理系统 UI 组件库
网络请求 Axios 接口请求、统一拦截处理
图表 / 工具 ECharts 数据图表展示
js-cookie 存储 Token
构建 Webpack 项目打包、编译

项目结构

  • 文件介绍

    • .github:GitHub 相关配置(如 Issue 模板、CI/CD 工作流)
    • bin:项目脚本工具目录(如启动 / 停止脚本)
    • doc:项目文档存放目录(使用说明、部署指南、API 文档等)
    • sql:数据库脚本目录(初始化 SQL、升级脚本、菜单 / 权限数据等)
    • .gitignore:Git 忽略文件配置(指定不需要提交的文件 / 目录)
    • LICENSE:开源协议声明(若依使用 MIT 协议)
    • README.md:项目说明文档(快速开始、技术栈、部署步骤)
    • pom.xml:Maven 项目核心配置文件(依赖管理、模块聚合、打包配置)
    • ry.bat / ry.sh:项目快速启动脚本(Windows/Linux 环境一键启动后端服务)
  • 后端模块介绍

    目录 核心作用
    ruoyi 父级模块,统筹管理其他子模块还有整个项目的依赖版本
    ruoyi-admin 启动入口模块,包含 Controller 层、全局异常处理、权限拦截、API 接口等,是整个后端服务的启动器
    ruoyi-common 公共工具模块,封装通用工具类、常量、枚举、异常、Redis 操作、工具类(如日期、加密、文件处理)等
    ruoyi-framework 框架核心模块,负责 Spring 配置、权限管理(Spring Security/Shiro)、全局拦截器、数据权限、XSS 防护等底层能力
    ruoyi-system 系统业务模块,实现用户、角色、菜单、部门、岗位、字典、通知公告等核心系统功能的 Service/Mapper 层
    ruoyi-generator 代码生成模块,你之前看到的「代码生成」功能就来自这里,负责根据数据库表自动生成前后端 CRUD 代码
    ruoyi-quartz 定时任务模块,基于 Quartz 实现定时任务管理(如数据备份、日志清理、报表生成)
  • 前端模块介绍

    目录 / 文件 作用
    src 项目核心源码,所有业务代码都在这里
    ├─ api 封装所有后端接口请求(axios 统一管理)
    ├─ assets 存放图片、样式、字体等静态资源
    ├─ components 公共组件(上传、弹窗、表格等复用组件)
    ├─ layout 系统整体布局(侧边栏、头部、页面容器)
    ├─ router 前端路由(页面跳转、权限控制)
    ├─ store 全局状态管理(用户信息、菜单、权限)
    ├─ utils 工具函数(时间格式化、加密、通用方法)
    ├─ views 所有业务页面(系统管理、代码生成、自定义页面)
    ├─ App.vue 项目根组件
    ├─ main.js 项目入口文件(启动 Vue、加载插件)
    ├─ permission.js 权限控制(登录校验、动态菜单)
    package.json 项目依赖、启动 / 打包命令
    vue.config.js Vue 项目配置(代理、打包、端口)
    .env.development 开发环境配置(接口地址)

项目启动

这里我们主要是基于 RouYi-Vue 的 SpringBoot2 版本进行学习

  • Step1:拉取代码

    shell 复制代码
    # 方式一:指定分支拉去
    git clone -b springboot2 https://gitee.com/y_project/RuoYi-Vue.git
    # 方式二:直接拉主分支,然后切换到 SpringBoot2 分支(切分支可以直接在 IDEA 中操作)
    git clone https://gitee.com/y_project/RuoYi-Vue.git
    git checkout springboot2
  • Step2:后端启动

    PS:这里不过多介绍,详情参考官方文档:RuoYi-Vue------后端运行

    1. 执行 SQL,建库、建表、加数据
    2. 修改 MySQL 连接信息
    3. 修改 Redis 连接信息
    4. 运行 rouyi-admin 模块下的启动类
  • Step3:前端启动

    PS:这里不过多介绍,详情参考官方文档:RuoYi-Vue------前端运行

    • npm install下载依赖
    • npm run dev启动项目

代码生成

  • Step1:建表

    • 方式一:创建,编写好建表语句,然后让若依帮你建表
    • 方式二:导入,自己在数据库建表,然后导入创建的表
  • Step2:生成代码

    会生成一个压缩包,压缩包里面包括了前后端基础的 CRUD 代码,数据库文件

  • Step3:执行SQL

    将压缩包里面的 SQL 文件拿到数据库中执行,主要作用是往数据库里插入菜单权限数据,让前端能显示出菜单

  • Step4:拷贝代码

    按照压缩包里面的包路径,将代码放到对应的位置

参考资料:

相关推荐
豆角焖肉8 分钟前
Maven进阶与搭建私服
java·maven
大不点wow18 分钟前
Java序列化与反序列化:让对象走出JVM
java·开发语言·jvm
止语Lab22 分钟前
好的 DX 不等于少写代码——三种语言的摩擦力设计课
后端
吃饱了得干活22 分钟前
别再手动解析 LLM 输出了!LangChain 四种结构化输出方案对比
后端·python·langchain
噢,我明白了23 分钟前
Java中日期和字符串的处理
java·开发语言·日期
程序员天天困27 分钟前
Arthas trace 命令怎么用?一行定位最慢那行代码
jvm·后端
Huiturn28 分钟前
GPT 5.6 连续编码 10 小时,纯 Python 啃下 Word 二进制格式——doc2docx 实现拆解
后端
dkbnull30 分钟前
Spring Boot请求处理组件对比详解
java·spring boot
jun_bai32 分钟前
Orthanc服务器使用java上传dicom影像文件
java·运维·服务器
顺风尿一寸33 分钟前
记一次 Spring AOP 与定时任务引发的死锁排查
java