若依RuoYi项目环境搭建教程(RuoYi-Vue + RuoYi-Vue3版本)

文章目录

  • 一、开发脚手架选择
  • 二、RuoYi框架
    • 1、介绍
    • 2、版本发展
    • 3、为什么选择若依
    • 4、优缺点
    • 5、项目内置功能
  • 三、后端项目部署
    • 1、拉取源码
    • 2、环境要求
    • 3、Maven构建
    • 4、MySQL相关
      • (1)导入SQL脚本
      • (2)配置信息
    • 5、Redis相关
      • (1)启动Redis
      • (2)配置信息
    • 6、项目运行
  • 四、前端项目部署
    • 1、初始化项目
    • 2、项目运行


一、开发脚手架选择

当下热门流行的5个开源的Java项目快速开发脚手架。

  1. Guns
  2. pig
  3. RuoYi
  4. Jeecg-boot
  5. iBase4J

本次主要介绍Java热门快速开发脚手架——若依(RuoYi),包括若依介绍、环境搭建教程。


二、RuoYi框架

1、介绍

若依(Ruoyi)框架是一款基于 Spring Boot 2.5.5、Spring Cloud 2020.0、OAuth2 与 JWT 鉴权等核心技术,同时也支持Spring Security、Apache Shiro 等多种安全框架,以及 Mybatis、JPA 等流行持久化框架,提供了许多常用的功能模块,包括系统管理、监控管理、任务调度、代码生成、文件上传、高德地图等功能的快速开发平台。

若依官网:http://ruoyi.vip
演示地址:http://vue.ruoyi.vip
前后端分离版本代码下载:https://gitee.com/y_project/RuoYi-Vue
官方开发手册:https://doc.ruoyi.vip/ruoyi/


2、版本发展

从2018年一直开源维护到今天:

  • 前后端混合版本 RuoYi(SpringBoot+Bootstrap):RuoYi结合了SpringBoot和Bootstrap的前端开发框架,适合快速构建传统的Web应用程序,其中前端和后端代码在同一项目中协同工作。https://gitee.com/y_project/RuoYi
  • 前后端分离版本 RuoYi-Vue(SpringBoot+Vue):RuoYi-Vue利用SpringBoot作为后端开发框架,与Vue.js结合,实现了前后端分离的开发模式。这种架构有助于提高开发效率,前后端可以独立开发和部署,更适合现代化的Web应用开发。https://gitee.com/y_project/RuoYi-Vue、https://gitee.com/ys-gitee/RuoYi-Vue3
  • 微服务版本 RuoYi-Cloud(SpringCloud+Vue):RuoYi-Cloud基于Spring Cloud & Alibaba微服务架构,为构建大型分布式系统提供了完整的解决方案。它支持服务发现、配置管理、负载均衡等微服务特性,适合需要高可扩展性和高可用性的企业级应用。https://gitee.com/y_project/RuoYi-Cloud
  • 移动端版本 RuoYi-App(Uniapp+Vue):RuoYi-App采用Uniapp进行开发,结合了Vue.js的优势,可以实现跨平台的移动端应用开发。一次编写,多端运行的能力使得它成为开发iOS和Android应用的理想选择。https://gitee.com/y_project/RuoYi-App
  • 芋道源码 ruoyi-vue-pro:RuoYi-Vue 全新 Pro 版本,优化重构所有功能。https://gitee.com/zhijiantianya/ruoyi-vue-pro

3、为什么选择若依

  • 框架使用人群与热度分析:用户基数大,全网火爆,具有代表性,很多中小型公司脚手架的首选。
  • gitee:

  • github:

  • 完全开源,免费商用,不光是代码,文档也是开源的。有些项目是代码开源,文档收费,虽然不贵,但免费的显然更香。
  • 商用友好,MIT许可,想怎么改就怎么改,想怎么发版就怎么发版,完全不用担心侵权。
  • 开源开发文档:中文支持友好,照着文档把项目跑起来并使用功能,上手相对容易。
  • 社区活跃度:有一定的社区支持,虽然不如一些大型开源项目那样活跃,但对于解决常见问题和获取技术支持还是有帮助的。更新速度和频率也比较高。

4、优缺点

  • 优点

(1)高效率开发:引入如代码生成等多种能力,可自动生成初代代码,只需关注业务逻辑实现。

(2)低代码/封装:只提供必要的封装以保持框架的简洁性,可灵活配置。

(3)前后端分离:前后端领域无关,简化开发,提高效率,通过屏蔽前后端技术栈,让前后端工程师更关注自己的业务以及交互效果。

(5)支持多种安全框架:OAuth2、JWT、Spring Security、Apache Shiro 都可以选择。

(6)权限认证使用Jwt,支持多终端认证系统。支持加载动态权限菜单,多方式轻松权限控制。

(6)支持多种持久化框架:Mybatis、JPA都可以选择。

(7)集成多种常用模块:系统管理、监控管理、任务调度、代码生成、文件上传、高德地图等功能的快速开发平台。

  • 缺点

(1)使用RuoYi框架需要一定的JavaWeb开发经验,在没有JavaWeb基础的情况下,上手可能会困难。

(2)提供的代码生成器可能不能满足需求,并且代码生成的质量还需要另加一定的开发工作。

(3)支持的功能还比较简单,但是这也使得它更加轻量级,通用性更好。

(4)适合初学者,它满足一些没有技术积累的小型开发团队或者软件公司的快速开发的需求,这一点是值得肯定的,也是它在国内流行的主要原因。

5、项目内置功能

(1)用户管理:用户是系统操作者,该功能主要完成系统用户配置。

(2)部门管理:配置系统组织机构(公司、部门、小组),树结构展现支持数据权限。

(3)岗位管理:配置系统用户所属担任职务。

(4)菜单管理:配置系统菜单,操作权限,按钮权限标识等。

(5)角色管理:角色菜单权限分配、设置角色按机构进行数据范围权限划分。

(6)字典管理:对系统中经常使用的一些较为固定的数据进行维护。

(7)参数管理:对系统动态配置常用参数。

(8)通知公告:系统通知公告信息发布维护。

(9)操作日志:系统正常操作日志记录和查询;系统异常信息日志记录和查询。

(10)登录日志:系统登录日志记录查询包含登录异常。

(11)在线用户:当前系统中活跃用户状态监控。

(12)定时任务:在线(添加、修改、删除)任务调度包含执行结果日志。

(13)代码生成:前后端代码的生成(java、html、xml、sql)支持CRUD下载 。

(14)系统接口:根据业务代码自动生成相关的api接口文档。

(15)服务监控:监视当前系统CPU、内存、磁盘、堆栈等相关信息。

(16)缓存监控:对系统的缓存信息查询,命令统计等。

(17)在线构建器:拖动表单元素生成相应的HTML代码。

(18)连接池监视:监视当前系统数据库连接池状态,可进行分析SQL找出系统性能瓶颈。


三、后端项目部署

1、拉取源码

  • 若依版本选择:RuoYi-Vue + RuoYi-Vue3
  • RuoYi-Vue版本,采用了前后端分离的单体架构设计。
  • 软件环境:JDK、MySQL、Redis、Maven、Node
  • 技术选型:Spring Boot、Spring Security、MyBatis、Jwt、Vue3、Element-Plus
# 项目后端
git clone https://gitee.com/y_project/RuoYi-Vue.git
# 项目前端
git clone https://gitee.com/ys-gitee/RuoYi-Vue3.git

2、环境要求

官方推荐演示版本
JDK >= 1.8JDK 17
MySQL >= 5.7.0MySQL 8.0
Redis >= 3.0Redis 3.2 (Win)
Maven >=3.0Maven 3.6.1
Node >= 12Node 16(Vue3)

3、Maven构建

使用idea打开项目后,等待环境检查(主要是Maven下载项目依赖)
在这里插入图片描述

4、MySQL相关

(1)导入SQL脚本

  • 创建数据库create schema ry-vue;
  • 执行下图的sql脚本文件,完成导入。

在这里插入图片描述

  • 导入后ry-vue库内置30张表

在这里插入图片描述

(2)配置信息

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: 数据库密码

5、Redis相关

(1)启动Redis

在redis解压目录下,执行redis-server.exe redis.windows.conf启动。

(2)配置信息

ruoyi-admin模块下,resources目录下的application.yml,可以设置redis密码等相关信息。

在这里插入图片描述

6、项目运行

ruoyi-admin模块下,运行com.ruoyi.RuoYiApplication.java,出现如下图表示启动成功。

在这里插入图片描述

后端运行成功可以通过([http://localhost:8080)访问,但是不会出现静态页面,可以继续参考下面步骤部署ruoyi-ui前端,然后通过前端地址来访问。


四、前端项目部署

1、初始化项目

进入开发目录下,使用vscode命令code打开项目。

# 克隆Vue3项目(之前已经拉取过了不用执行)
git clone https://gitee.com/ys-gitee/RuoYi-Vue3.git

# 通过vscode打开项目(在RuoYi-Vue3目录里直接输入code也可以)
code ./RuoYi-Vue3

2、项目运行

在vscode终端中输入以下命令:

# 安装依赖
npm install

# 建议不要直接使用 cnpm 安装依赖,会有各种诡异的 bug。可以通过如下操作解决 npm 下载速度慢的问题
npm install --registry=https://registry.npmmirror.com

# 启动服务
npm run dev

打开浏览器,输入:([http://localhost:80) 默认账户/密码 admin/admin123)若能正确展示登录页面,并能成功登录,菜单及页面展示正常,则表明环境搭建成功。

在这里插入图片描述


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/874881.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

15.1 JDBC数据库编程1

目录 15 引言 15.1.1 数据库语言SQL 15.2 JDBC体系结构 15.2.1 JDBC访问数据库 15.2.2 JDBC API介绍 15 引言 数据库系统(database system,DBS)由一个互相关联的数据集合和一组用以访问这些数据的程序组成。这个数据集合通常称为数据库。 …

MIT线性代数

本文链接的原创作者为 浊酒南街https://blog.csdn.net/weixin_43597208 第1讲 MIT_线性代数笔记:第 01 讲 行图像和列图像-CSDN博客 第2讲 MIT_线性代数笔记:第 02 讲 矩阵消元_矩阵first pivot-CSDN博客 第3讲 MIT_线性代数笔记:第 0…

OpenCV结构分析与形状描述符(21)计算包围给定点集的最小面积三角形函数minEnclosingTriangle()的使用

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 找到一个包围二维点集的最小面积三角形,并返回其面积。 该函数找到一个包围给定的二维点集的最小面积三角形,并返回其面…

idea同时装了两个版本,每次打开低版本都需要重新激活破解

问题描述: idea同时装了两个版本,每次打开低版本都需要重新激活破解。低版本是2021.1,高版本是2023.1 解决方案: 找到idea的配置路径,比如我的是:C:\Users\Administrator\AppData\Roaming\JetBrains 2021…

“人人都是产品经理”到AI产品经理,赶上风口的人都赚到了钱

前言 大家应该都听过“人人都是产品经理”这句口号,有人说,它毁了一个职业。导致很多不适合的人也想做产品经理;导致有些老板让所有人都来抢产品经理的活儿;让招聘的筛选成本大大提升,等等。但我觉得,如果…

通过域名无法访问不到网站,IP可正常访问(DNS污染)

一 DNS被污染 就在刚刚突然访问不到csdn,域名无法访问如下图: 确认DNS是否解析有问题 1 ping 域名 先ping一下域名,ping 域名后得到ip, ping通了如下图: 2 使用IP访问测试 通过ip再访问网站,ip可以正常访问如下图&…

Java面试篇基础部分-Java的类加载机制

JVM的类加载 JVM在运行Java文件的时候,类加载分为5个阶段:加载、验证、准备、解析、初始化。在类初始化加载完成之后,就可以使用这个类的信息了。当这个类不需要使用的时候,就可以从JVM进行卸载。 加载 加载是指JVM读取Class文件的操作,并且根据Class的文件描述创建对应的…

​年化收益52%,最大回撤13%,卡玛比率3.77,ETF轮动系列大有可为(附策略代码和数据下载)。

原创内容第648篇,专注量化投资、个人成长与财富自由。 今天继续开发策略,先看结果: 年化52%,最大回撤13%,卡玛比率3.77。 策略逻辑: 买入规则: 5日均线大于20日均线 。 最近20个交易日的涨…

SparkSQL SET和RESET

前言 我们在用代码写spark程序的时候,如果要设置一些配置参数,可以通过: SparkConf val conf = new SparkConf().setMaster("local[2]").setAppName("CountingSheep") val sc = new SparkContext(conf)spark-submit ./bin/spark-submit --name "M…

R语言数据整理和分析(1)

跟着顶刊学习数据分析。本期参考文献《Trends in Dietary Vitamin A Intake Among US Adults by Race and Ethnicity, 2003-2018》,来源于JAMA,IF63.1。 该文研究:2003-2018年美国成年人按种族和民族划分的膳食维生素A摄入量趋势 方法学&am…

数据同步-Mysql同步到ElasticSearch

Mysql同步到ElasticSearch 数据同步1、定时任务2、双写3、MQ异步写入4、Logstash5、Canal 数据同步 一般情况下,如果做查询搜索功能,使用 ES 来模糊搜索,但是数据是存放在数据库 MySQL 里的,所以说我们需要把 MySQL 中的数据和 E…

科技之光,照亮未来之路“2024南京国际人工智能展会”

全球科技产业的版图正以前所未有的速度重构,而位于中国东部沿海经济带的江浙沪地区,作为科技创新与产业升级的高地,始终站在这一浪潮的最前沿。2024年,这一区域的科技盛宴——“2024南京人工智能展会”即将在南京国际博览中心盛大…

Golang | Leetcode Golang题解之第390题消除游戏

题目&#xff1a; 题解&#xff1a; func lastRemaining(n int) int {a1 : 1k, cnt, step : 0, n, 1for cnt > 1 {if k%2 0 { // 正向a1 step} else { // 反向if cnt%2 1 {a1 step}}kcnt >> 1step << 1}return a1 }

基于zabbix实现监控Jenkins过程---超详细

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:Linux运维老纪的首页…

【ArcGIS】栅格计算器原理及案例介绍

ArcGIS&#xff1a;栅格计算器原理及案例介绍 栅格计算器&#xff08;Raster Calculator&#xff09;原理介绍案例案例1&#xff1a;计算栅格数据平均值 参考 栅格计算器&#xff08;Raster Calculator&#xff09;原理介绍 描述&#xff1a;在类似计算器的界面中&#xff0c;…

learn C++ NO.13——list

前言 本文将从list的使用&#xff0c;再到根据sgi库对于list实现作为参考模拟实现一下list。通过模拟实现来增加对它的理解。 介绍list list是一个由带头双向循环链表实现的STL容器&#xff0c;它提供常规时间内对数据进行插入和删除操作。 list在内存中存储不连续的空间存储…

【HarmonyOS NEXT】实现网络图片保存到手机相册

【问题描述】 给定一个网络图片的地址&#xff0c;实现将图片保存到手机相册 【API】 phAccessHelper.showAssetsCreationDialog【官方文档】 https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-photoaccesshelper-V5#showassetscreationdialog…

ISO27001信息安全管理体系认证怎么做?

ISO27001认证是关于信息安全管理体系认证&#xff0c;ISO27001将有效保证企业在信息安全领域的可靠性&#xff0c;降低企业泄密风险&#xff0c;更好的保存核心数据。下面给大家详细讲讲ISO27001信息安全管理体系认证详细办理流程。 一、ISO27001信息安全管理体系认证的办理条…

【Centos】Centos系统换yum源

【Centos】Linux&#xff0c;Centos系统换yum源 1、备份 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak/etc/yum.repos.d/CentOS-Base.repo 是yum的配置文件 /etc/yum.repos.d/CentOS-Base.repo.bak 是我们备份的配置文件 2、下载yum源 这里…

【EI稳定,马来亚大学主办】2024年计算机与信息安全国际会议(WCCIS 2024,9月27-29)

2024年计算机与信息安全国际会议 (WCCIS 2024) 将于2024年9月27-29日召开。 会议旨在为从事计算机与信息安全的专家学者、工程技术人员、技术研发人员提供一个共享科研成果和前沿技术&#xff0c;了解学术发展趋势&#xff0c;拓宽研究思路&#xff0c;加强学术研究和探讨&…