1.介绍
RuoYi-Vue 是一个 Java EE 企业级快速开发平台,基于经典技术组合(Spring Boot、Spring Security、MyBatis、Jwt、Vue),内置模块如:部门管理、角色用户、菜单及按钮授权、数据权限、系统参数、日志管理、代码生成等。在线定时任务配置;支持集群,支持多数据源,支持分布式事务。
其系统需求如下:
- JDK >= 1.8
- MySQL >= 5.7
- Maven >= 3.0
- Node >= 12
- Redis >= 3
一直想做一款后台管理系统,看了很多优秀的开源项目但是发现没有合适的。于是利用空闲休息时间开始自己写了一套后台系统。如此有了若依。
——若依的创造者
2.快速了解
ruoyi主要特性如下:
- 完全响应式布局(支持电脑、平板、手机等所有主流设备)
- 强大的一键生成功能(包括控制器、模型、视图、菜单等)
- 支持多数据源,简单配置即可实现切换。
- 支持按钮及数据权限,可自定义部门数据权限。
- 对常用js插件进行二次封装,使js代码变得简洁,更加易维护
- 完善的XSS防范及脚本过滤,彻底杜绝XSS攻击
- Maven多项目依赖,模块及插件分项目,尽量松耦合,方便模块升级、增减模块。
- 国际化支持,服务端及客户端支持
- 完善的日志记录体系简单注解即可实现
- 支持服务监控,数据监控,缓存监控功能。
其技术选型如下:
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
以及多样到离谱的内置功能:
3.项目介绍
请注意,ruoyi的项目文件是前后端分离的,也就是说,关于其项目,我们需要分为前端部分和后端部分来看待。
运行后端:
导入到Eclipse
,菜单 File
-> Import
,然后选择 Maven
-> Existing Maven Projects
,点击 Next
> 按钮,选择工作目录,然后点击 Finish
按钮,即可成功导入。Eclipse
会自动加载Maven
依赖包,初次加载会比较慢(根据自身网络情况而定)
创建数据库ry-vue
并导入数据脚本ry_2021xxxx.sql
,quartz.sql
打开项目运行com.ruoyi.RuoYiApplication.java
,最终只要能在控制台出现下图就算胜利。
(♥◠‿◠)ノ゙ 若依启动成功 ლ(´ڡ`ლ)゙
.-------. ____ __
| _ _ \ \ \ / /
| ( ' ) | \ _. / '
|(_ o _) / _( )_ .'
| (_,_).' __ ___(_ o _)'
| |\ \ | || |(_,_)'
| | \ `' /| `-' /
| | \ / \ /
''-' `'-' `-..-'
运行前端:
如果依赖环境已经安装完毕,可以直接run,但是没有安装依赖的话,首先要安装依赖,哦对了,下述操作需要在控制台(菜单键+r启动)完成。
# 进入项目目录
cd ruoyi-ui
# 安装依赖
npm install
# 强烈建议不要用直接使用 cnpm 安装,会有各种诡异的 bug,可以通过重新指定 registry 来解决 npm 安装速度慢的问题。
npm install --registry=https://registry.npmmirror.com
# 本地开发 启动项目
npm run dev
在前端与后端都启动完成后,就可以在浏览器打开若依的界面,其界面如下:
其密码以及账号为默认。
关于其配置文件如下:
• 程序配置文件 application.yml:大部分框架、库、程序配置都在里面
• 数据源配置 application-druid.yml:数据库相关配置,比如 MySQL 连接
• 代码生成配置 generator.yml
4.插件集成
集成docker实现一键部署
集成websocket实现实时通信
使用undertow来替代tomcat容器
集成aj-captcha实现滑块验证码
集成watermark实现页面添加水印
集成jsencrypt实现密码加密传输方式
集成druid实现数据库密码加密功能
5.项目扩展
RuoYi-App:RuoYi-Vue的移动端版本
RuoYi-Vue-Activiti:集成Activiti 6.x工作流版本
RuoYi-Vue-Sqlserver:RuoYi-Vue的Sqlserver版本
RuoYi-Vue-MultiTenant:RuoYi-Vue的多租户版本
RuoYi-Vue-Mobile:RuoYi-Vue的移动端Uniapp版本,集成uView2.0+u-charts等组件
RuoYi-Vue-Uniapp:RuoYi-Vue的移动端Uniapp版本
RuoYi-Sqlite:RuoYi-Vue的Sqlite版本
RuoYi-Vue-Postgresql:RuoYi-Vue的Postgresql版本
RuoYi-zhunian:基于若依支付系统
RuoYi-zhaoxinpms:基于若依的智慧物业系统
6.更新日志
更新的每一个版本都有记录,包括版本号,时间,更新功能明细,推荐时常关注若依更新的功能
7.常见问题
在 SecurityConfig 中设置httpSecurity
配置匿名访问
// 使用 permitAll() 方法所有人都能访问,包括带上 token 访问
.antMatchers("/admins/**").permitAll()
// 使用 anonymous() 所有人都能访问,但是带上 token 访问后会报错
.antMatchers("/admins/**").anonymous()
默认的主题都是深色主题,如果需要其他主题可以做如下配置。
1、点击顶部最右侧个人中心头像,选择布局设置,选择主题风格设置
。(局部设置)
2、在ruoyi-ui\src\settings.js
,设置侧边栏主题sideTheme
为theme-xxxx
。(全局设置)
默认的导航菜单都是在左侧,如果需要横向导航菜单可以做如下配置。
1、点击顶部最右侧个人中心头像,选择布局设置,开启TopNav
。(局部设置)
2、在ruoyi-ui\src\settings.js
,设置是否显示顶部导航topNav
为true
。(全局设置)