若依框架的介绍与基本使用(一起走进若依框架的世界)

 🎉🎉欢迎来到我的CSDN主页!🎉🎉

🏅我是君易--鑨,一个在CSDN分享笔记的博主。📚📚

🌟推荐给大家我的博客专栏《若依框架开发》。🎯🎯

🎁如果感觉还不错的话请给我关注加三连吧!🎁🎁

前言

        在我们之前的学习中我们接触以及了解了一些的框架结构,例如我们之前学习到的EasyUI、Bootstrap框架开发、LayUI、微信小程序开发等等。今天与大家分享的是一个开源的框架结构来利于我们的开发,今天带给大家的是RuoYi开发框架。

一、RuoYi简介

1. 概述

        RuoYi是一款基于SpringBoot+Bootstrap极速后台开发框架

        RuoYi 是一个 Java EE 企业级快速开发平台,基于经典技术组合(Spring Boot、Apache Shiro、MyBatis、Thymeleaf、Bootstrap),内置模块如:部门管理、角色用户、菜单及按钮授权、数据权限、系统参数、日志管理、通知公告等。在线定时任务配置;支持集群,支持多数据源,支持分布式事务。

2. 主要特性

若依框架具有以下一些的特性:

  • 完全响应式布局(支持电脑、平板、手机等所有主流设备)
  • 强大的一键生成功能(包括控制器、模型、视图、菜单等)
  • 支持多数据源,简单配置即可实现切换。
  • 支持按钮及数据权限,可自定义部门数据权限。
  • 对常用js插件进行二次封装,使js代码变得简洁,更加易维护
  • 完善的XSS防范及脚本过滤,彻底杜绝XSS攻击
  • Maven多项目依赖,模块及插件分项目,尽量松耦合,方便模块升级、增减模块。
  • 国际化支持,服务端及客户端支持
  • 完善的日志记录体系简单注解即可实现
  • 支持服务监控,数据监控,缓存监控功能。

3. 技术选型

        若依框架技术选型主要以四个部分模块展开,分别是系统环境、主框架、持久层、视图层。接下来我们一起来看一看这四个模块涉及的内容有哪些。

        系统环境:

  • Java EE 8
  • Servlet 3.0
  • Apache Maven 3

        主框架:

  • Spring Boot 2.2.x
  • Spring Framework 5.2.x
  • Apache Shiro 1.7

        持久层:

  • Apache MyBatis 3.5.x
  • Hibernate Validation 6.0.x
  • Alibaba Druid 1.2.x

        视图层:

  • Bootstrap 3.3.7
  • Thymeleaf 3.0.x

        其中若依框架中也包含了有内置功能,例如: 部门管理、菜单管理、用户管理、字典管理等等的内置功能我们也可以前去官网的文档去查看。

  • RuoYi 官网地址:http://ruoyi.vip(opens new window)
  • RuoYi 在线文档:http://doc.ruoyi.vip(opens new window)
  • RuoYi 源码下载:https://gitee.com/y_project/RuoYi(opens new window)
  • RuoYi 在线提问:https://gitee.com/y_project/RuoYi/issues(opens new window)
  • RuoYi 博客:https://www.oschina.net/p/ruoyi

二、搭建若依框架开发环境及推送到gitee

后端

1. 搭建若依框架开发环境

1.1 选择搭建若依框架的版本进行下载或者克隆

        首先我们要进入到若依框架的官网中去选择我们需要搭建项目的版本进行下载或者克隆。版本有:RuoYi(单体)、RuoYi-Vue(前后端分离)、RuoYi-Cloud(SpringCloud微服务版本)、RuoYi-App(UniApp移动端版本)以及RuoYi-other(更多其他版本项目)。我这以RuoYi-Vue为例。

        我们复制若依项目的https的网址,然后在我们的开发工具中去克隆。

        我们克隆完RuoYi项目之后首先要去检查我们的Maven版本是否和本地的Maven是否一致,不一致需要修改,如果修改后下载依赖的网络地址不是Maven中配置的镜像地址先退出我们的开发工具然后重新进入项目,接着点击Maven-clean清理之前的依赖,再点击test进行最新的下载。  

         因为RuoYi框架是基于SpringBoot搭建的,所以我们启动项目时不用像SpringMVC那样去配置我们的服务器然后把项目放到服务器上启动。我们成功导入项目之后会生成一些文件夹存放对应的代码文件,每一个文件夹都代表着不同的功能。

ruoyi-admin:全局配置

ruoyi-common:存放通用的工具包以及工具类

ruoyi-franmework:存放框架核心代码

ruoyi-generator:存放代码生成模块的代码

ruoyi--quartz :任务调度模块

ruoyi-system:项目业务开放模块

ruoyi-ui:前端代码模块

sql:存放项目功能数据脚本

         我们修改完Maven版本之后还要去修改我们的配置文件信息,其中有数据看连接配置、Redis连接配置等等。

        以上是Redis数据库以及图片上传功能图片存放地址的配置,接下来是关系型数据库的配置文件配置,在application-druid.yml文件中配置

        创建好对应的数据库后,我们还要将若依框架所需要的数据表导入到我们的数据库中。 

        导入成功之后我们在去开发工具中进行运行项目。运行成功之后我们在网页进行访问测试。

前端

1. 安装前台插件

 

        当我们安装好插件后我们对应的代码显示会发生对应性的改变。 

2.  下载项目前端所需的依赖

        我们加载前端项目代码文件到我们的开发工具中,当我们需要启动项目的时候需要去下载前端所需要的依赖。我们先进入前端项目存放的文件夹中进入我们的命令窗口中去执行对应代码下载依赖。

指令: npm install ---->下载依赖

            npm run dev ----->启动项目

        当我们启动前端项目的时候可能会因为node.js版本的原因启动失败(我是用的18),会弹出以下错误。

 

         首先我们可以通过换node.js的版本来解我们这个问题,也可以写一个bat文件来使其运行项目,将该bat文件放到我们要启动的项目文件的bin文件的同级目录下。

 qianduanstart.bat
set NODE_OPTIONS=--openssl-legacy-provider
npm run dev

        点击该文件即可,前提是要启动Redis数据库服务。启动成功登陆进去的界面如下。

三、若依框架的入门使用 

1. 生成指定模块功能代码

        我们生成的代码是作为一个压缩版进行存放,我们将压缩包解压,然后将对应的代码拖至我们的项目中即可。首先在我们的数据库中执行我们的sql脚本,因为前端中设计菜单选项,因此我们要选择对应的脚本执行。

         然后就是向我们的项目中去添加代码,将生成的代码复制到对应的文件夹中覆盖即可。后端:ruoyi-system/mian/src    前端:ruoyi-ui/src下的api文件夹和views文件夹进行覆盖然后重新启动后端即可。 

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

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

相关文章

【MySQL】聚合函数、group by、update、delete

聚合函数、group by、update、delete 前言正式开始update将孙悟空同学的数学成绩变更为 80 分将曹孟德同学的数学成绩变更为 60 分,语文成绩变更为 70 分将总成绩倒数前三的 3 位同学的数学成绩加上 30 分将所有同学的语文成绩更新为原来的 2 倍 delete删除孙悟空同…

trzsz支持文件拖动到终端进行上传,类似lrzsz

考虑到 LapTop -> Host 1 -> Host 2 -> Docker -> TMUX,使用scp或sftp命令不方便;使用rz和sz命令就会方便很多,但是却又与 TMUX 不兼容(备注:Tmux是一个终端复用工具,允许用户在一个终端窗口中…

C语言前瞻

文章目录 C语言基础简介编译方式分布编译示例流程一步编译 代码运行运行结果展示实际代码 C语言基础简介 关于C语言的书籍,文章有很多。C的历史我不赘述,只讲C语言的基础语法和使用,帮助大家入门,同时也是自己学习过程的一个回顾。…

Python的os.path.join()详解

当你需要构建文件路径时,os.path.join() 是一个很有用的方法。这个方法会根据你的操作系统使用正确的路径分隔符(例如,在 Windows 上是反斜杠 \,在类 Unix 系统上是正斜杠 /)来连接路径中的各个部分。这样你就可以确保…

想要成为CSS大师?这些技巧是你必须知道的!

前言 CSS 是网页设计中不可或缺的一部分,掌握一些实用的 CSS 技巧,可以让你在设计中展现出更多的创意和个性。本文将介绍一些 CSS 技巧,帮助你提升自己的技能,成为一个真正的 CSS 大师。 1. 改变 input 自动填充的背景颜色 这段 …

获取阿里云Docker镜像加速器

1、阿里云官网(www.aliyun.com)注册账号 2、打开“控制台首页” 控制台首页地址:https://home.console.aliyun.com/home/dashboard/ProductAndService 3、点击“概览->容器镜像服务 ACR” 4、打开“镜像工具->镜像加速器”页面&#x…

数据集笔记:NGSIM (next generation simulation)

1 数据集介绍 数据介绍s Next Generation Simulation (NGSIM) Open Data (transportation.gov) 数据地址:Next Generation Simulation (NGSIM) Vehicle Trajectories and Supporting Data | Department of Transportation - Data Portal 时间2005年到2006年间地…

【Linux】 线程

pthread_join: 获取线程返回值 #include <stdio.h> #include <stdlib.h> #include <pthread.h> #include <unistd.h> #include <string.h>/*** 测试 pthread_join* 阻塞等待一个子线程的退出&#xff0c;可以接收到某一个子线程调用pthread_ex…

【Linux】Linux下的基础IO

❤️前言 大家好&#xff01;今天这篇博客和大家聊一聊关于Linux下的基础IO。 正文 在阅读本篇博客之前&#xff0c;请大家先回顾一下C语言文件操作的一些方法&#xff0c;这里可以看看我之前记录的一些内容&#xff1a; 【C语言】C语言成长之路之文件操作_MO_lion的博客-CSD…

elementui表格自定义指令控制显示哪些列可以拖动

Vue.directive(tableBorder, function (el, {value}) {// value允许传字符串数字和数组el.classList.add(z_table_hasBorder)let hasStyle el.querySelector(style)if(hasStyle){hasStyle.remove()}let style document.createElement(style)let str .z_table_hasBorder .el…

Sentinel 热点规则 (ParamFlowRule)

Sentinel 是面向分布式、多语言异构化服务架构的流量治理组件&#xff0c;主要以流量为切入点&#xff0c;从流量路由、流量控制、流量整形、熔断降级、系统自适应过载保护、热点流量防护等多个维度来帮助开发者保障微服务的稳定性。 SpringbootDubboNacos 集成 Sentinel&…

Ui自动化概念 + Web自动化测试框架介绍!

1.UI自动化测试概念:我们先明确什么是UI UI&#xff0c;即(User Interface简称UI用户界面)是系统和用户之间进行交互和信息交换的媒介 UI自动化测试: Web自动化测试和移动自动化测试都属于UI自动化测试&#xff0c;UI自动化测试就是借助自动化工具对程序UI层进行自动化的测试 …

远程文件包含演示

远程文件包含 基本介绍 受害机器 10.9.47.181 攻击者机器1 10.9.47.41 攻击者机器2 10.9.47.217 实现过程 受害者机器开启phpstudy 并且开启允许远程连接 攻击者机器1上有一个文件&#xff0c;内容是phpinfo(); 攻击者机器1提供web服务使得受害者机器能够访问到攻击者…

Linux latin1字符集转成UTF-8

latin1字符集&#xff0c;我用命令iconv转换后依旧乱码&#xff0c;但是本地用Notepad转成utf-8再入库数据&#xff0c;却是正常的 查看文件编码 vi WeakcoverReason_20231120.csv:set fileencoding使用编码转换命令&#xff0c;将latin1改成UTF-8 iconv -f latin1 -t UTF-8 W…

Android Termux安装MySQL,内网穿透实现公网远程访问

文章目录 前言1.安装MariaDB2.安装cpolar内网穿透工具3. 创建安全隧道映射mysql4. 公网远程连接5. 固定远程连接地址 前言 Android作为移动设备&#xff0c;尽管最初并非设计为服务器&#xff0c;但是随着技术的进步我们可以将Android配置为生产力工具&#xff0c;变成一个随身…

管家婆订货易在线商城任意文件上传漏洞复现

0x01 产品简介 管家婆订货易&#xff0c;帮助传统企业构建专属的订货平台&#xff0c;PC微信APP小程序h5商城5网合一&#xff0c;无缝对接线下的管家婆ERP系统&#xff0c;让用户订货更高效。支持业务员代客下单&#xff0c;支持多级推客分销&#xff0c;以客带客&#xff0c;拓…

单链表相关面试题--5.将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的

/* 解题思路&#xff1a; 此题可以先创建一个空链表&#xff0c;然后依次从两个有序链表中选取最小的进行尾插操作进行合并。 */ typedef struct ListNode Node; struct ListNode* mergeTwoLists(struct ListNode* l1, struct ListNode* l2){if(l1 NULL)return l2;else if(l2 …

【监控系统】日志可视化监控体系ELK搭建

1.ELK架构是什么 ELK是ElasticsearchLogstashKibana的简称。 Elasticsearch是一个开源的分布式搜索和分析引擎&#xff0c;可以用于全文检索、结构化检索和分析&#xff0c;它构建在Lucene搜索引擎库之上&#xff0c;是当前使用较为广泛的开源搜索引擎之一。 Logstash是一个…

如何实现MATLAB与Simulink的数据交互

参考链接&#xff1a;如何实现MATLAB与Simulink的数据交互 MATLAB是一款强大的数学计算软件&#xff0c;Simulink则是一种基于模型的多域仿真平台&#xff0c;常用于工程和科学领域中的系统设计、控制设计和信号处理等方面。MATLAB和Simulink都是MathWorks公司的产品&#xff0…

软件工程第十一周

面向对象 面向对象编程&#xff08;Object-Oriented Programming, OOP&#xff09;不仅仅是一种程序设计方法&#xff0c;它更是一种深刻的软件工程开发思想。这种思想的核心在于通过抽象和封装来模拟现实世界中的对象和概念&#xff0c;以便更好地管理和解决复杂的软件工程问…