系列文章:
RUOYI框架在实际项目中的应用一:ruoyi简介
RUOYI框架在实际项目中的应用二:Ruoyi前后端分离版本-RuoYi-Vue
RUOYI框架在实际项目中的应用三:Ruoyi微服务版本-RuoYi-Cloud
一、Ruoyi前后端分离版本-RuoYi-Vue
1、官方资料
1:代码地址:https://gitee.com/y_project/RuoYi-Vue.git
2:文档介绍地址:http://doc.ruoyi.vip/ruoyi-vue/
3:演示地址:http://vue.ruoyi.vip/login
注:如果是在校学生或者小体量公司项目,不需要微服务的就选这个。
2、框架简介
1:技术选型
1、系统环境
- Java EE 8
- Servlet 3.0
- Apache Maven 3
2、主框架
- Spring Boot 2.2.x
- Spring Framework 5.2.x
- Spring Security 5.2.x
3、持久层
- Apache MyBatis 3.5.x
- Hibernate Validation 6.0.x
- Alibaba Druid 1.2.x
4、视图层
- Vue 2.6.x
- Axios 0.21.x
- Element 2.15.x
2:官方推荐软件环境版本
JDK >= 1.8 (推荐1.8版本)
Mysql >= 5.7.0 (推荐5.7版本)
Redis >= 3.0
Maven >= 3.0
Node >= 12
二、框架搭建
1:下载代码
在idea中克隆该项目,配置maven
2:环境配置
在Ruoyi-vue中需要用的如下中间件:
- 数据库 、如mysql等,用来存储数据
- redis:用来缓存数据,如token等。如果对redis不了破的,推荐看Redis-02-Redis安装和入门HelloWorld
以上两个中间件在此不再赘述,如果公司有就用,没有的话,就自己搭建
3:配置框架数据库表
1:在数据库中创建空白数据库
2:从下载的代码中找到sql执行文件,然后执行,生成ruoyi初始表
注:ry_xxxxxx这个表一定要执行,这是ruoyi系统用户,权限,菜单等模块表,
quartz.sql 是定时任务quartz框架的表,如果公司不用这个框架就不用执行了。
4:修改配置
以下只说明最基础的信息,能保证系统运行起来。其他信息视情况修改
1:系统信息
2:数据库信息
3:redis信息
5:启动后端
1:如果是在本地,那么启动com.ruoyi.RuoYiApplication即可
2:如果需要打包到服务器上,
- 直接执行在ruoyi项目的bin目录下执行package.bat打包Web工程,生成war/jar包文件。
然后会在项目下生成target文件夹包含war或jar - 使用命令行执行:java –jar ruoyi.jar 或者执行脚本:ruoyi/bin/run.bat
6:启动前端
1:直接在刚才下载好的代码中进入ruoyi-ui目录
2:使用npm启动
# 进入项目目录
cd ruoyi-ui
# 安装依赖
npm install
# 强烈建议不要用直接使用 cnpm 安装,会有各种诡异的 bug,可以通过重新指定 registry 来解决 npm 安装速度慢的问题。
npm install --registry=https://registry.npmmirror.com
# 本地开发 启动项目
npm run dev
7:打开浏览器,输入:(http://localhost:80 (opens new window)) 默认账户/密码 admin/admin123)
三、代码模块介绍
1:后端文件结构
com.ruoyi
├── common // 工具类
│ └── annotation // 自定义注解
│ └── config // 全局配置
│ └── constant // 通用常量
│ └── core // 核心控制
│ └── enums // 通用枚举
│ └── exception // 通用异常
│ └── filter // 过滤器处理
│ └── utils // 通用类处理
├── framework // 框架核心
│ └── aspectj // 注解实现
│ └── config // 系统配置
│ └── datasource // 数据权限
│ └── interceptor // 拦截器
│ └── manager // 异步处理
│ └── security // 权限控制
│ └── web // 前端控制
├── ruoyi-generator // 代码生成(可移除)
├── ruoyi-quartz // 定时任务(可移除)
├── ruoyi-system // 系统代码
├── ruoyi-admin // 后台服务
├── ruoyi-xxxxxx // 其他模块
2:前端文件结构
com.ruoyi
├── common // 工具类
│ └── annotation // 自定义注解
│ └── config // 全局配置
│ └── constant // 通用常量
│ └── core // 核心控制
│ └── enums // 通用枚举
│ └── exception // 通用异常
│ └── filter // 过滤器处理
│ └── utils // 通用类处理
├── framework // 框架核心
│ └── aspectj // 注解实现
│ └── config // 系统配置
│ └── datasource // 数据权限
│ └── interceptor // 拦截器
│ └── manager // 异步处理
│ └── security // 权限控制
│ └── web // 前端控制
├── ruoyi-generator // 代码生成(可移除)
├── ruoyi-quartz // 定时任务(可移除)
├── ruoyi-system // 系统代码
├── ruoyi-admin // 后台服务
├── ruoyi-xxxxxx // 其他模块
四、功能模块介绍
1:系统接口-swagger冒烟测试
ruoyi框架本身集成了swagger,启动后直接访问http://localhost:8080/swagger-ui.html(自己的项目访问路径/swagger-ui.html)来访问接口文档就可以了。
注:如有对swagger不熟悉的朋友可以看这篇:swagger-springboot详解
2:若依框架自动生成前后端代码
大部分项目里其实有很多代码都是重复的,几乎每个基础模块的代码都有增删改查的功能,而这些功能都是大同小异, 如果这些功能都要自己去写,将会大大浪费我们的精力降低效率。所以这种重复性的代码可以使用代码生成。
0:生成代码模块配置
单应用在resources目录下的application.yml,多模块ruoyi-generator中的resources目录下的generator.yml,可以自己根据实际情况调整默认配置。
gen:
# 开发者姓名,生成到类注释上
author: ruoyi
# 默认生成包路径 system 需改成自己的模块名称 如 system monitor tool
packageName: com.ruoyi.system
# 自动去除表前缀,默认是false
autoRemovePre: false
# 表前缀(生成类名不会包含表前缀,多个用逗号分隔)
tablePrefix: sys_
1:我们配置好数据库表
2: 通过若依界面来配置代码
3:对课程管理的功能进行配置信息
4:下载代码并导入项目
5:导入sql(菜单管理sql)
6:导入前后端代码
7:重启项目,查看结果
3:其他拓展功能
除了ruoyi内置的很多功能以外,如果我们想对系统代码进行中间技术框架替换,如knife4j替换swagger,使用minio,使用es等,我们都可以从容的增加和使用,在ruoyi网站中也有类似的文档指导,大家可以参考:
4:如何更换项目包路径
我们使用过程中还有很多问题,比如因为ruoyi默认的是com.ruoyi路径,我们实际使用过程中要改成公司名,比如com.baidu。此时ruoyi也为我们提供了很多常用工具。