若依项目的介绍(前后端分离版本)

news2024/11/16 11:52:02

目录

一、若依介绍

(一)简单介绍 

(二)若依版本

(三)Git远程拉取步骤 

二、项目的技术介绍

(一)后端技术

1.spring boot

2.Spring Security安全控制

3.MyBatis

4.MySQL和Redis

(二)前端技术

1.vue

2.vue-router

3.axios 

4.element-ui

5.node

6.ES6

7.Nginx反向代理服务器

三、项目结构介绍

1.总体结构图 

2.后端结构介绍

3.前端结构介绍

四、运行项目的步骤


一、若依介绍

(一)简单介绍 

若依是一个开源免费的项目。现在比较流行的是前后端分离的开发模式,所以来介绍里面前后端分离版本的若依这个项目的结构。可以在这个项目的基础上面进行二次开发,是一个很不错的项目。本文的介绍是根据诺依进行整合补充整理,感兴趣可以直接去官网看看

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

官网网址:RuoYi

(二)若依版本

1.前后端不分离版本(官网超链接)

Gitee克隆地址 

https://gitee.com/y_project/RuoYi.git

2.前后端分离版本(官网超链接)

Gitee克隆地址 

https://gitee.com/y_project/RuoYi-Vue.git

3.微服务版本 (官网超链接)

Gitee克隆地址 

https://gitee.com/y_project/RuoYi-Cloud.git

4.移动端版本(官网超链接)

Gitee克隆地址 

https://gitee.com/y_project/RuoYi-App.git

5.延申出来的各种改造版本

项目扩展 | RuoYi

6.插件集成

插件集成 | RuoYi

(三)Git远程拉取步骤 

 本文要拉取的是前后端分离的版本,可以看一下具体的拉取步骤

git拉取远程代码到本地_云边的快乐猫的博客-CSDN博客

二、项目的技术介绍

(一)后端技术

后端技术栈:SpringBoot、MyBatis、Spring Security、Jwt

1.spring boot

Spring Boot是一款开箱即用框架,提供各种默认配置来简化项目配置。

        版本要求:Spring Boot2.x版本环境要求必须是jdk8或以上版本,服务器Tomcat8或以上版本 

        使用优点: 推荐使用自动注解自动配置、快速集成新技术能力 没有冗余代码生成和XML配置的要求内嵌Tomcat、Jetty、Undertow等web容器,无需以war包形式部署提供运行时的应用监控对主流开发框架的无配置集成极大地提高了开发快速构建项目、部署效率。

2.Spring Security安全控制

 Spring Security是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架。

        功能:Authentication 认证,就是用户登录Authorization 授权,判断用户拥有什么权限,可以访问什么资源安全防护,跨站脚本攻击,session攻击等非常容易结合Spring进行使用

  Spring SecurityShiro的区别

相同点:1、认证功能   2、授权功能  3、加密功能  4、会话管理  5、缓存支持  6、 rememberMe功能

不同点:springSecurity是基于spring是开发的,耦合度会更高,但是功能也更丰富,比如安全防护方面,社区的资源也更丰富。shiro的上手和配置比较简单,依赖性低,可以独立运行。

3.MyBatis

这个是用来操作MySQL数据库的一个框架,是现在很流行的持久层框架 

4.MySQL和Redis

版本要求:MySQL>=5.7.0(我使用8的版本)、Redis>=3.0 

这里使用数据库储存数据,redis来做请求数据的缓存处理

(二)前端技术

 前端技术栈 ES6、vue、vuex、vue-router、vue-cli、axios、element-ui、Nginx

1.vue

 这是一款非常好用的前端框架,是现在前端开发的主流框架

2.vue-router

这是vue里面的路由,可以自定义设置访问指定前端页面的路径 

3.axios 

用于处理前后端跨域的,前端向后端发起请求然后获得相应

4.element-ui

这是基于MVVM框架Vue开源出来的一套前端ui组件。 

5.node

这里主要使用node.js里面的npm命令去下载各种需要的依赖

版本要求:node>=12 

6.ES6

Javascript的新版本,ECMAScript6的简称。利用ES6我们可以简化我们的JS代码,同时利用其提供的强大功能来快速实现JS逻辑。

7.Nginx反向代理服务器

Nginx 主要是用于前端、反向代理和负载均衡等方面,虽然它可以处理一些后端任务,但其主要功能是在网络通信层面。用于处理请求、代理流量、负载均衡、提供静态资源等。

  1. 反向代理和负载均衡

    • Nginx 被广泛用作反向代理服务器,将客户端请求转发给后端应用服务器。这有助于隐藏真实的后端服务器,提高应用程序的安全性。
    • Nginx 还可以作为负载均衡器,将流量分发到多个后端服务器,以平衡负载和提高性能。
  2. 静态资源服务

    • Nginx 可以高效地提供静态资源,如 HTML、CSS、JavaScript 和图像文件。这可以减轻后端服务器的负担,提高网站的加载速度。
  3. SSL/TLS 终端

    • Nginx 可以用作 SSL/TLS 终端,处理加密和解密,确保数据在客户端和服务器之间的安全传输。
  4. 缓存和内容分发

    • Nginx 支持缓存机制,可以缓存静态内容或动态内容,以减少对后端服务器的请求。这有助于提高响应速度和降低负载。
  5. 限流和防护

    • Nginx 可以用于限制请求速率,以及提供一些基本的安全性保护,如防止恶意请求、DDoS 攻击等。

三、项目结构介绍

1.总体结构图 

2.后端结构介绍

在这个里面最主要的就是rouyi-admin这个,运行后端就在这里运行的,这里面有控制类这些。是后端的主体结构。

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      // 其他模块

3.前端结构介绍

前端都在rouyi-ui这个文件里面

├── build                      // 构建相关  
├── bin                        // 执行脚本
├── public                     // 公共文件
│   ├── favicon.ico            // favicon图标
│   └── index.html             // html模板
│   └── robots.txt             // 反爬虫
├── src                        // 源代码
│   ├── api                    // 所有请求
│   ├── assets                 // 主题 字体等静态资源
│   ├── components             // 全局公用组件
│   ├── directive              // 全局指令
│   ├── layout                 // 布局
│   ├── plugins                // 通用方法
│   ├── router                 // 路由
│   ├── store                  // 全局 store管理
│   ├── utils                  // 全局公用方法
│   ├── views                  // view
│   ├── App.vue                // 入口页面
│   ├── main.js                // 入口 加载组件 初始化等
│   ├── permission.js          // 权限管理
│   └── settings.js            // 系统配置
├── .editorconfig              // 编码格式
├── .env.development           // 开发环境配置
├── .env.production            // 生产环境配置
├── .env.staging               // 测试环境配置
├── .eslintignore              // 忽略语法检查
├── .eslintrc.js               // eslint 配置项
├── .gitignore                 // git 忽略项
├── babel.config.js            // babel.config.js
├── package.json               // package.json
└── vue.config.js              // vue.config.js

四、运行项目的步骤

 

有什么问题都可以评论区留言,看见都会回复的

如果你觉得本篇文章对你有所帮助的,多多支持吧!!!

点赞收藏评论,当然也可以点击文章底部的红包或者👇订阅付费文章创作支持一下了。抱拳了!

vip文章:http://t.csdn.cn/Uq5j1

bug大全订阅文章http://t.csdn.cn/j6UyR

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Android学习之路(5) UI控件之Button (按钮)与 ImageButton (图像按钮)

本节引言: 今天给大家介绍的Android基本控件中的两个按钮控件,Button普通按钮和ImageButton图像按钮; 其实ImageButton和Button的用法基本类似,至于与图片相关的则和后面ImageView相同,所以本节 只对Button进行讲解&am…

黑客、骇客、红蓝对抗中几百种渗透测试工具集合全精华最新整理以及各类CTF资料

黑客、骇客、红蓝对抗中几百种渗透测试工具集合全精华最新整理以及各类CTF资料。 WebGoat漏洞练习平台 https://github.com/WebGoat/WebGoat webgoat-legacy漏洞练习平台 https://github.com/WebGoat/WebGoat-Legacy zvuldirll漏洞练习平台 https://github.com/710leo/ZVul…

OJ练习第153题——加油站

加油站 力扣链接:134. 加油站 题目描述 在一条环路上有 n 个加油站,其中第 i 个加油站有汽油 gas[i] 升。 你有一辆油箱容量无限的的汽车,从第 i 个加油站开往第 i1 个加油站需要消耗汽油 cost[i] 升。你从其中的一个加油站出发&#xf…

Postman软件基本用法:浏览器复制请求信息并导入到软件从而测试、发送请求

本文介绍在浏览器中,获取网页中的某一个请求信息,并将其导入到Postman软件,并进行API请求测试的方法。 Postman是一款流行的API开发和测试工具,它提供了一个用户友好的界面,用于创建、测试、调试和文档化API。本文就介…

最强自动化测试框架Playwright(37)-网络

介绍 Playwright 提供 API 来监控和修改浏览器网络流量,包括 HTTP 和 HTTPS。页面执行的任何请求,包括 XHR 和获取请求,都可以被跟踪、修改和处理。 模拟接口 查看我们的 API 模拟指南,了解有关如何 模拟 API 请求&#xff0c…

Python_11 类的方法

一、查缺补漏 1. 实例方法必须用类实例化对象()来调用,用类来调用时会执行,但是self中不是实例化类地址而是传的字符串 二、类中的方法 1. 实例方法 1. 定义在类里面的普通方法(函数) 2. 第一个参数必须是类实例,在方法调用的时候会自动…

RHCE——一、安装部署及例行性工作

RHCE 一、网络服务1、准备工作2、RHEL9操作系统的安装部署3、配置并优化RHEL9操作系统4、网络配置5、修改网络连接 二、例行性工作1、单一执行的例行性工作2、循环执行的例行性工作 三、书写定时任务的注意事项四、系统级别的计划任务五、实验1、实验一:编写脚本tes…

OJ练习第152题——分割回文串 II

分割回文串 II 力扣链接:132. 分割回文串 II 题目描述 给你一个字符串 s,请你将 s 分割成一些子串,使每个子串都是回文。 返回符合要求的 最少分割次数 。 示例 Java代码 class Solution {public int minCut(String s) {int n s.leng…

python基础5——正则、数据库操作

文章目录 一、数据库编程1.1 connect()函数1.2 命令参数1.3 常用语句 二、正则表达式2.1 匹配方式2.2 字符匹配2.3 数量匹配2.4 边界匹配2.5 分组匹配2.6 贪婪模式&非贪婪模式2.7 标志位 一、数据库编程 可以使用python脚本对数据库进行操作,比如获取数据库数据…

C++系列-引用

引用 引用的基本使用引用的起源引用的语法引用的本质引用的注意事项引用和指针 引用作为函数参数引用作为函数的返回值常量引用其它用返回值方式调用函数(case 1)用函数的返回值初始化引用的方式调用函数(case 2)用返回引用的方式…

No113.精选前端面试题,享受每天的挑战和学习

文章目录 怎样理解 Vue 的单向数据流说下MVVM说下cookieVue 的性能优化Cookie、localStorage 和 sessionStorageVue中的computed属性和watch属性有什么区别? 怎样理解 Vue 的单向数据流 在Vue中,单向数据流是指数据在Vue组件中的传递方向是有限制的&…

使用Vscode调试shell脚本

在vcode中安装bash dug插件 在vcode中添加launch.json配置,默认就好 参考:http://www.rply.cn/news/73966.html 推荐插件: shellman(支持shell,智能提示) shellcheck(shell语法检查) shell-format(shell格式化)

【文化课学习笔记】【化学】金属及其化合物

【化学】必修一:金属及其化合物 钠及其化合物 钠单质 物理性质 颜色:银白色,有金属光泽;密度:\(\mathrm{\rho_{H_2O}>\rho_{Na}>\rho_{煤油}}\)(钠可以在煤油中进行保存);熔点:低于 \(100…

多种方法实现 Nginx 隐藏式跳转(隐式URL,即浏览器 URL 跳转后保持不变)

多种方法实现 Nginx 隐藏式跳转(隐式URL,即浏览器 URL 跳转后保持不变)。 一个新项目,后端使用 PHP 实现,前端不做路由,提供一个模板,由后端路由控制。 Route::get(pages/{name}, [\App\Http\Controllers\ResourceController::class, getResourceVersion])

如何在工作中利用AIGC提质增效?

引言 人工智能技术快速发展,以 ChatGPT 为代表的新的人工智能语言模型的出现与更迭,引发人们极大的兴奋和关注。越来越多的企业开始将 AI 技术应用到生产流程,以提高工作效率和生产力。AIGC(AI Generated Content)是人…

文本生成解码策略 Beam Search, top_k, temperature

一、从Greedy Search到Beam Search Greedy search是指在每个t时刻选择下一个词时,根据 wtargmaxwP(w|w1:t−1)选择概率最高的词。 以上图为例: 从单词“The”开始,算法在选择下一个词时,贪心的选择了概率最高的“nice”&#xf…

2023-8-15 差分

题目链接&#xff1a;差分 #include <iostream>using namespace std;const int N 100010;int n, m; int a[N], b[N];void insert(int l, int r, int c) {b[l] c;b[r 1] - c; }int main() {scanf("%d%d", &n, &m);for(int i 1; i < n; i)scanf…

“鸿蒙”商标被抢先注册,华为上诉失败,鸿蒙系统将被迫改名?

作为我国最著名的手机通讯企业之一&#xff0c;华为凭借着无与伦比的创新设计与可靠实用的用户体验&#xff0c;一度成为了国内最受欢迎的手机品牌。此外&#xff0c;华为手机在海外市场的销量也不遑多让&#xff0c;不仅质量优异&#xff0c;在通讯的稳定性与可靠性上&#xf…

韦东山老师 RTOS 入门课程(一)RTOS 介绍,熟悉裸机的汇编逻辑

韦东山老师 RTOS 入门课程 课程链接&#xff1a;韦东山直播公开课&#xff1a;RTOS实战项目之实现多任务系统 第1节&#xff1a;裸机程序框架和缺陷_哔哩哔哩_bilibili RTOS 介绍 裸机&#xff1a;固定顺序执行。 中断&#xff1a;可以一直专心做循环里的事情&#xff0c;直…

林【2017】

一、判断 二、单选 三、填空 四、应用 五、算法设计