初识 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:拷贝代码

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

参考资料:

相关推荐
葫芦和十三4 小时前
图解 MongoDB 21|选举与 failover:Primary 是怎么选出来的
后端·mongodb·agent
GetcharZp5 小时前
26k Star 开源内网穿透神器 NetBird,一分钟实现全球设备互联!
后端
考虑考虑5 小时前
Mybatis实现批量插入
java·后端·mybatis
咖啡八杯6 小时前
GoF设计模式——中介者模式
java·后端·spring·设计模式
lizhongxuan8 小时前
多Agent之间的区别
后端
青石路10 小时前
记一次多JDK版本问题的排查,一坑套一坑,差点没爬上来
java
杨充11 小时前
1.面向对象设计思想
后端
IT_陈寒11 小时前
Java的Date类又坑了我一次,改用时间戳真香
前端·人工智能·后端
systemPro11 小时前
2.6亿条设备数据,历史查询从超时到50ms,我做了什么
后端
要阿尔卑斯吗12 小时前
提示词优化启示:为什么“按顺序输出“比“关键度评分“更有效
后端