若依搭建
若依版本
官方
若依官方针对不同开发需求提供了多个版本的框架,每个版本都有其独特的特点和适用场景:
-
前后端混合版本:RuoYi结合了SpringBoot和Bootstrap的前端开发框架,适合快速构建传统的Web应用程序,其中前端和后端代码在同一项目中协同工作。
-
前后端分离版本:RuoYi-Vue利用SpringBoot作为后端开发框架,与Vue.js结合,实现了前后端分离的开发模式。这种架构有助于提高开发效率,前后端可以独立开发和部署,更适合现代化的Web应用开发。
-
微服务版本:RuoYi-Cloud基于Spring Cloud & Alibaba微服务架构,为构建大型分布式系统提供了完整的解决方案。它支持服务发现、配置管理、负载均衡等微服务特性,适合需要高可扩展性和高可用性的企业级应用。
-
移动端版本:RuoYi-App采用Uniapp进行开发,结合了Vue.js的优势,可以实现跨平台的移动端应用开发。一次编写,多端运行的能力使得它成为开发iOS和Android应用的理想选择。
这些版本的框架为开发者提供了多样化的选择,无论是传统的Web应用、现代化的前后端分离应用,还是复杂的微服务架构和跨平台的移动端应用,都能找到合适的若依框架版本来满足开发需求。
非官方
若依框架因其强大的功能和灵活性,吸引了众多第三方开发者基于其核心架构进行扩展和优化,从而形成了丰富的生态系统。
这些扩展不仅增强了若依框架的功能性,也满足了开发者在不同场景下的具体需求。例如:
-
RuoYi-Vue3(前端升级Vue3 Element Plus Vite)
-
RuoYi-Vue-Plus(后端集成Mybatis-Plus、Hutool、OSS存储、分布式锁等组件)
这些扩展版本的推出,使得若依框架能够更好地适应不同规模和类型的项目需求,从小型快速开发到大型企业级应用,都能提供相应的解决方案。开发者可以根据自己的具体需求选择合适的版本进行开发。
RuoYi-Vue
lRuoYi-Vue版本,采用了前后端分离的单体架构设计:
软件环境:JDK、MySQL 、Redis 、Maven、Node
技术选型:Spring Boot、Spring Security、MyBatis、Jwt、Vue3、Element-Plus
官方地址:RuoYi-Vue: 🎉 基于SpringBoot,Spring Security,JWT,Vue & Element 的前后端分离权限管理系统,同时提供了 Vue3 的版本
扩展地址:RuoYi-Vue3: 🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
官方推荐 | 课程版本 |
---|---|
JDK >= 1.8 | JDK 11 |
Mysql >= 5.7.0 | MySQL 8 |
Redis >= 3.0 | Redis 5(Win) |
Maven >= 3.0 | Maven 3.6 |
Node >= 12 | Node 16(Vue3) |
为了确保教学活动的顺利进行,建议所有学生在开始前安装并配置好这些软件的版本。
如果学生在安装或配置过程中遇到问题,可以联系播妞获取帮助,播妞将提供详细的安装文档和安装包,
运行后端项目
初始化项目
Git下载
通过idea克隆若依源码,仓库地址:RuoYi-Vue: 🎉 基于SpringBoot,Spring Security,JWT,Vue & Element 的前后端分离权限管理系统,同时提供了 Vue3 的版本
Maven构建
使用idea打开项目后,等待环境检查(主要是Maven下载项目依赖)
MySQL相关
导入sql
1、创建数据库create schema ry-vue;
2、执行下图的sql脚本文件,完成导入
3、导入后ry-vue
库内置30张表
配置信息
在ruoyi-admin
模块下,编辑resources
目录下的application-druid.yml
,修改数据库连接
# 数据源配置
spring:
datasource:
type: com.alibaba.druid.pool.DruidDataSource
driverClassName: com.mysql.cj.jdbc.Driver
druid:
# 主库数据源
master:
url: 数据库地址
username: 数据库账号
password: 数据库密码
Redis相关
启动
在redis解压目录下,执行redis-server.exe redis.windows.conf
启动
配置信息
在ruoyi-admin
模块下,resources
目录下的application.yml
,可以设置redis密码等相关信息
项目运行
在ruoyi-admin
模块下,运行com.ruoyi.RuoYiApplication.java
,出现如下图表示启动成功
后端运行成功可以通过([http://localhost:8080 )访问,但是不会出现静态页面,可以继续参考下面步骤部署前端,然后通过前端地址来访问。
运行前端项目
初始化项目
进入开发目录下,使用vscode命令code
打开项目
# 克隆vue3项目
git clone https://gitee.com/ys-gitee/RuoYi-Vue3.git
# 通过vscode打开项目
code ./RuoYi-Vue3
项目运行
在vscode终端中输入以下命令:
# 安装依赖
npm install
# 建议不要直接使用 cnpm 安装依赖,会有各种诡异的 bug。可以通过如下操作解决 npm 下载速度慢的问题
npm install --registry=https://registry.npmmirror.com
# 启动服务
npm run dev
打开浏览器,输入:([http://localhost:80) 默认账户/密码 admin/admin123
)若能正确展示登录页面,并能成功登录,菜单及页面展示正常,则表明环境搭建成功
入门案例
在若依项目成功搭建之后,深入了解其代码生成器功能是掌握框架的重要一环。
接下来,我们将利用若依框架的代码生成器实现CRM系统中的课程管理功能,这将使我们能够实际体验并掌握如何在项目中有效使用这一工具。
功能需求
实现CRM系统中的课程管理功能,涵盖增加、删除、修改和查询课程信息的完整前后端代码。
原型地址:摹客
步骤分析
1、准备课程表结构和数据sql文件,导入到数据库中
2、登录系统(系统工具 -> 代码生成 -> 导入课程表)
3、代码生成列表中找到课程表(可预览、编辑、同步、删除生成配置)
4、点击生成代码会得到一个ruoyi.zip
5、执行sql文件导入菜单,按照包内目录结构复制到自己的项目中即可
代码生成
提供课程表
准备课程表结构和数据sql文件,导入到数据库中
系统导入
登录系统(系统工具 -> 代码生成 -> 导入课程表)
配置代码
代码生成列表中找到课程表(可预览、编辑、同步、删除生成配置)
点击生成
点击生成代码,得到一个ruoyi.zip
解压后得到:后端代码、前端代码、菜单sql
代码导入
导入课程菜单
执行sql脚本,导入菜单数据
导入后端代码
将生成的后端代码和mappep文件,导入ruoyi-admin
模块中
注意:如果导入后的代码重启后没生效,可以通过maven先clean再启动
导入前端代码
将生成的前端代码,导入ruoyi-ui
模块中
访问测试
代码生成器默认生成的课程管理模块在系统工具菜单下,打开测试CRUD功能
功能详解
我们将对若依的通用功能进行详解。本章内容分为三个重点部分:
系统管理
权限系统
演示
若依提供了企业级通用权限系统,我们这里拿CRM系统先给大家演示下:
地址:客达天下
-
demo账号(超级管理员),可以查看所有功能菜单
-
zhangsan账号(市场专员),可以查看线索管理菜单
-
yueyue账号(销售专员),可以查看商机、合同等菜单
RBAC
lRBAC(基于角色的访问控制)是一种广泛使用的访问控制模型,通过角色来分配和管理用户的菜单权限。
表关系
案例
创建新用户小智并关联课研人员角色,仅限课程管理和统计分析菜单访问。
实现步骤:
①创建菜单
②创建角色,并分配权限
③创建用户,并关联角色
数据字典
介绍
若依内置的数据字典,用于维护系统中常见的静态数据。例如:性别、状态…
功能包括:字典类型管理、字典数据管理
表关系
案例
将课程管理的学科字段改为数据字典维护。
实现步骤:
①添加字典类型和数据
②修改代码生成信息
③下载代码,导入前端
参数设置
参数设置:对系统中的参数进行动态维护。
关闭登录验证码