【若依】前后端分离版本

news2024/11/16 18:08:09

一、何为框架?若依框架又是什么?具备什么功能?

框架的英文为Framework,带有骨骼,支架的含义。在软件工程中,框架往往被定义为整个或部分系统的可重用设计,是一个可重复使用的设计构件。类似于一个数学公式或某种流程。

而若依框架又是什么?其实就是一套后台管理系统,它采用了Spring Boot和Shiro安全控制框架,以及Thymeleaf模板。

二、通俗地说,什么是若依?

  • 这么说吧,如果你要开发一个医疗系统,那么你就需要编写用户管理、部门管理、岗位管理、菜单管理、角色管理、通知公告、操作日志、登录日志等等一大堆功能。
  • 如果你要开发一个项目管理系统,那么你就需要编写用户管理、部门管理、岗位管理、菜单管理、角色管理、通知公告、操作日志、登录日志等等一大堆功能。
  • 如果你要开发一个教育管理系统,那么你就需要编写用户管理、部门管理、岗位管理、菜单管理、角色管理、通知公告、操作日志、登录日志等等一大堆功能。
  • 于是你就会发现开发任何一个系统都是需要上面这些相同的功能,所以你想不想要一套具有基本的公共的功能的系统,然后你只需要在这套系统上进行二次开发,简单写一些属于自己的逻辑业务就够了。
  • 这套系统有很多,今天就讲解一下若依项目系统(因为若依是码云最有价值开源项目之一

三、那么若依框架里面有哪些基础公共功能呢?

  • 用户管理:用户是系统操作者,该功能主要完成系统用户配置。
  • 部门管理:配置系统组织机构(公司、部门、小组),树结构展现支持数据权限。
  • 岗位管理:配置系统用户所属担任职务。
  • 菜单管理:配置系统菜单,操作权限,按钮权限标识等。
  • 角色管理:角色菜单权限分配、设置角色按机构进行数据范围权限划分。
  • 字典管理:对系统中经常使用的一些较为固定的数据进行维护。
  • 参数管理:对系统动态配置常用参数。
  • 通知公告:系统通知公告信息发布维护。
  • 操作日志:系统正常操作日志记录和查询;系统异常信息日志记录和查询。
  • 登录日志:系统登录日志记录查询包含登录异常。
  • 在线用户:当前系统中活跃用户状态监控。
  • 定时任务:在线(添加、修改、删除)任务调度包含执行结果日志。
  • 代码生成:前后端代码的生成(java、html、xml、sql)支持CRUD下载 。
  • 系统接口:根据业务代码自动生成相关的api接口文档。
  • 服务监控:监视当前系统CPU、内存、磁盘、堆栈等相关信息。
  • 缓存监控:对系统的缓存查询,删除、清空等操作。
  • 在线构建器:拖动表单元素生成相应的HTML代码。
  • 连接池监视:监视当前系统数据库连接池状态,可进行分析SQL找出系统性能瓶颈。

四、若依版本

  • 若依官网:目前官方同步在维护的有4个版本
  • 账号密码:admin/admin123
    在这里插入图片描述
    在这里插入图片描述

五、拉取若依项目

  • 通过Gitee将自己想要的版本项目下载到IDEA
  • 这里我就选择 “前后端分离版”
  • 具体拉取请看Gitee拉取以及推送远程项目
    在这里插入图片描述

六、分析若依项目结构(前后端分离版)

  • 项目文件结构
    在这里插入图片描述
  • Mysql配置数据源文件 /ruo-yi/src/main/resources/application-druid.yml
    在这里插入图片描述
  • Redis配置缓存文件 /ruo-yi/src/main/resources/application.yml
    在这里插入图片描述

七、这里再简述一下Redis的作用吧(以防还没学过Redis的同学比较懵,例如我hhhhh)

  • 常见的操作是后台直接同数据库进行数据交互
    在这里插入图片描述
  • 在若依里面加了一个Redis缓存
    在这里插入图片描述

八、运行项目(后端)

首先就是下载和拉取若依源码,拉取好了之后运行肯定报错,因此我们要首先创建对应的数据库数据表直接导入SQL,其次就是Redis缓存中间件,这些都没问题了,项目自己也就起来了,输入localhost进入前端页面

参考视频(第一集)

  • 步骤一:配置MySQL数据库
    创建数据库:使用Navicat执行SQL文件(绝对有效)
    在这里插入图片描述
    修改数据源文件: /ruo-yi/src/main/resources/application-druid.yml
    在这里插入图片描述
  • 步骤二:启动Redis服务(只需要启动Redis服务就可以了)
    在这里插入图片描述
  • 启动项目
    在这里插入图片描述
  • 启动成功
    在这里插入图片描述
    在这里插入图片描述

九、 运行项目(前端)

在这里插入图片描述

  1. node.js下载
  • 但是我遇到了一个奇怪的问题,在命令行中输入npm -v,会出现版本(表示成功下载),但是在IDEA的控制台中就会出现以下错误
  • 于是我就选择在命令行中进入ruoyi-ui文件夹,执行后面的命令操作
  • 注意:命令窗口尽量使用管理员身份运行
    在这里插入图片描述
  1. clone克隆项目就不用了,因为已经下载了项目了
  2. 命令行进入ruoyi-ui文件夹目录下
    在这里插入图片描述
  3. 安装依赖
npm install

5 安装镜像

npm install --registry=https://registry.npmmirror.com

6 启动服务

npm run dev
  • 这里大部分人都会出现这样的问题
  • 解决办法
  • 当然这个办法不一定适合所有人,但是我想说的是,开发过程中一直遇到问题才是常态,真正开发花不了多少时间的,一直没问题相当于你每次投篮都是进球,怎么可能呢?同时在百度查找解决方法时并不建议拿到一篇博客就跟着改,尽量多读几篇,然后有个大概的修改思路,这样改起来才有信心解决问题。

Error: error:0308010C:digital envelope routines::unsupported
at new Hash (node:internal/crypto/hash:71:19)
at Object.createHash (node:crypto:133:10)
at module.exports (D:\home\project\demo\vue-admin-better\node_modules\webpack\lib\util\createHash.js:135:53)
at NormalModule._initBuildHash (D:\home\project\demo\vue-admin-better\node_modules\webpack\lib\NormalModule.js:417:16)
at handleParseError (D:\home\project\demo\vue-admin-better\node_modules\webpack\lib\NormalModule.js:471:10)
at D:\home\project\demo\vue-admin-better\node_modules\webpack\lib\NormalModule.js:503:5
at D:\home\project\demo\vue-admin-better\node_modules\webpack\lib\NormalModule.js:358:12
at D:\home\project\demo\vue-admin-better\node_modules\loader-runner\lib\LoaderRunner.js:373:3
at iterateNormalLoaders (D:\home\project\demo\vue-admin-better\node_modules\loader-runner\lib\LoaderRunner.js:214:10)
at iterateNormalLoaders (D:\home\project\demo\vue-admin-better\node_modules\loader-runner\lib\LoaderRunner.js:221:10)
at D:\home\project\demo\vue-admin-better\node_modules\loader-runner\lib\LoaderRunner.js:236:3
at runSyncOrAsync (D:\home\project\demo\vue-admin-better\node_modules\loader-runner\lib\LoaderRunner.js:130:11)
at iterateNormalLoaders (D:\home\project\demo\vue-admin-better\node_modules\loader-runner\lib\LoaderRunner.js:232:2)
at Array. (D:\home\project\demo\vue-admin-better\node_modules\loader-runner\lib\LoaderRunner.js:205:4)
at Storage.finished (D:\home\project\demo\vue-admin-better\node_modules\enhanced-resolve\lib\CachedInputFileSystem.js:55:16)
at D:\home\project\demo\vue-admin-better\node_modules\enhanced-resolve\lib\CachedInputFileSystem.js:91:9
10% building 2/5 modules 3 active …dmin-better\node_modules\eslint-loader\index.js??ref–14-0!D:\home\project\demo\vue-admin-better\src\main.jsnode:internal/crypto/hash:71
this[kHandle] = new _Hash(algorithm, xofLen);
Error: error:0308010C:digital envelope routines::unsupported
at new Hash (node:internal/crypto/hash:71:19)
at Object.createHash (node:crypto:133:10)
at module.exports (D:\home\project\demo\vue-admin-better\node_modules\webpack\lib\util\createHash.js:135:53)
at NormalModule._initBuildHash (D:\home\project\demo\vue-admin-better\node_modules\webpack\lib\NormalModule.js:417:16)
at handleParseError (D:\home\project\demo\vue-admin-better\node_modules\webpack\lib\NormalModule.js:471:10)
at D:\home\project\demo\vue-admin-better\node_modules\webpack\lib\NormalModule.js:503:5
at D:\home\project\demo\vue-admin-better\node_modules\webpack\lib\NormalModule.js:358:12
at D:\home\project\demo\vue-admin-better\node_modules\loader-runner\lib\LoaderRunner.js:373:3
at iterateNormalLoaders (D:\home\project\demo\vue-admin-better\node_modules\loader-runner\lib\LoaderRunner.js:214:10)
at Array. (D:\home\project\demo\vue-admin-better\node_modules\loader-runner\lib\LoaderRunner.js:205:4)
at Storage.finished (D:\home\project\demo\vue-admin-better\node_modules\enhanced-resolve\lib\CachedInputFileSystem.js:55:16)
at D:\home\project\demo\vue-admin-better\node_modules\enhanced-resolve\lib\CachedInputFileSystem.js:91:9
at D:\home\project\demo\vue-admin-better\node_modules\graceful-fs\graceful-fs.js:123:16
at FSReqCallback.readFileAfterClose [as oncomplete] (node:internal/fs/read_file_context:68:3) {
opensslErrorStack: [ ‘error:03000086:digital envelope routines::initialization error’ ],
library: ‘digital envelope routines’,
reason: ‘unsupported’,
code: ‘ERR_OSSL_EVP_UNSUPPORTED’
}

  1. 运行 “ npm run dev ” 之后,就会自动跳出前端页面
  • 命令行的样子
    在这里插入图片描述
  • 前端一般是之前以网页的形式跳出来的
    在这里插入图片描述

十、 项目运行总结

  1. 后台运行
  • 创建数据库,创建数据表,配置数据源
  • 打开redis服务
  • 配置maven路径,否则依赖加载不进来(针对我个人的情况)
  1. 前端运行
  • 以管理员身份运行命令窗口
  • 进入ruoyi-ui文件夹目录下,执行 “ npm run dev ”

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

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

相关文章

leetcode1801:积压订单中的订单总数(1.2日每日一题)

迟来的元旦快乐!!! 题目表述: 给你一个二维整数数组 orders ,其中每个 orders[i] [pricei, amounti, orderTypei] 表示有 amounti 笔类型为 orderTypei 、价格为 pricei 的订单。 订单类型 orderTypei 可以分为两种…

电子档案利用安全控制的办法与实现

这篇文章是笔者2015年发表在《保密科学技术》第2期的一篇文章,时隔7年半温习了一遍之后感觉还有一定的可取之处,所以在结合当前档案法律法规相关要求并修改完善其中部分内容之后分享给大家。 引言 INTRODUCTION 21世纪是一个信息化高度发展的时代&#…

网站漏洞与漏洞靶场(DVWA)

数据来源 本文仅用于信息安全学习,请遵守相关法律法规,严禁用于非法途径。若观众因此作出任何危害网络安全的行为,后果自负,与本人无关。 为什么要攻击网站?常见的网站漏洞有哪些? 在互联网中,…

Java安装详细步骤(win10)

一、下载JDK JDK下载地址:Java Archive | Oracle,下图为win10版本 二、安装过程 2.1 以管理员方式运行exe 2.2 更改JDK安装目录和目标文件夹的位置 2.3 安装完成 三、配置环境变量 3.1 快速打开环境变量设置 WinR打开运行对话框,输入…

【计组】CPU并行方案--《深入浅出计算机组成原理》(四)

课程链接:深入浅出计算机组成原理_组成原理_计算机基础-极客时间 一、Superscalar和VLIW 程序的 CPU 执行时间 指令数 CPI Clock Cycle Time CPI 的倒数,又叫作 IPC(Instruction Per Clock),也就是一个时钟周期…

软件测试新手入门必看

随着软件开发行业的日益成熟,软件测试岗位的需求也越来越大。众所周知,IT技术行业一直以来都是高薪岗位的代名词,零基础想要转业的朋友想要进入这个行业,入门软件测试是最佳的途径之一。考虑到大多数软件测试小白对这个行业的一片…

动态规划——树形dp

树形dp 文章目录树形dp概述树形dp 路径问题树的最长路径思路代码树的中心换根DP思路代码数字转换思路代码树形dp 有依赖的背包二叉苹果树思路代码树形dp 状态机没有上司的舞会思路代码战略游戏思路代码皇宫看守思路代码总结概述 树形 DP,即在树上进行的 DP。由于…

springboot常用启动初始化方法

在日常开发时,我们常常需要 在SpringBoot 应用启动时执行某一些逻辑,如下面的场景: 1、获取一些当前环境的配置或变量; 2、连接某些外部系统,读取相关配置和交互; 3、启动初始化多线程(线程池…

Linux 网络编程套接字

目录 一.网络知识 1.网络通信 2.端口号 (1)介绍 (2)端口号和进程ID 3.TCP协议 4.UDP协议 5.网络字节序 二. socket编程接口 1.socket常见API 2.sockaddr结构 (1)sockaddr结构 (2&a…

JavaScript 语句

文章目录JavaScript 语句JavaScript 语句分号 ;JavaScript 代码JavaScript 代码块JavaScript 语句标识符JavaScript 语句 JavaScript 语句向浏览器发出的命令。语句的作用是告诉浏览器该做什么。 JavaScript 语句 JavaScript 语句是发给浏览器的命令。 这些命令的作用是告诉浏…

顶象入选信通院“数字政府建设赋能计划”成员单位

为进一步推动数字政府建设提质增效,由中国信息通信研究院(以下简称“中国信通院”)联合数字政府相关企业、科研机构共同成立“数字政府建设赋能计划”,旨在凝聚各方力量,整合优质资源,开展技术攻关&#xf…

FlinkSQL基本语法和概念

Flink Sql1、简介2、网址3、SQL客户端4、Queries5、Create6、Drop7、Alter8、Insert9、ANALYZE10、Describe11、Explain12、Use13、Show14、Load15、Unload16、Set17、Reset18、Jar19、Windowing TVF19.1、TUMBLE(滚动窗口)19.2、HOP(滑动窗口…

rabbitmq+netcore6 【2】Work Queues:一个生产者两个消费者

文章目录1)准备工作2)新建消费者13)新建消费者24)生产者5)知识点解读1、autoAck: true2、重复声明/前后不一致3、Message durability 消息持久化4、Fair Dispatch 公平调度5、综合以上知识点的代码:官网参考…

Linux的运行级别

Linux的运行级别: Linux系统有7种运行级别(runlevel): 运行级别 0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动运行运行级别 1:单用户工作状态,root权限,用于系统维护,找回丢失…

少儿Python每日一题(9):约瑟夫环

原题解答 本次的题目如下所示(原题出处:蓝桥杯) 【编程实现】 有n个人围成一个圈,按顺序排好号。然后从第一个人开始报数(从1到3 报数),报到3的人退出圈子,然后继续从1到3报数,直到最后留下一个 人游戏结束,问最后留下的是原来第几号。 输入描述:输入一个正整数n 输…

国际手机号码检查纠正 API 接口

国际手机号码检查纠正 API 接口 有效性检查及智能纠正,遵循 E.164 标准,智能统一格式。 1. 产品功能 智能检测国际手机号码有效性;可根据提供的国家编码参数,判断提供的手机号码是否为该国家有效手机号码;智能纠正提…

场景题:假设10W人突访,你的系统如何做到不 雪崩?

文章很长,而且持续更新,建议收藏起来,慢慢读!疯狂创客圈总目录 博客园版 为您奉上珍贵的学习资源 : 免费赠送 :《尼恩Java面试宝典》 持续更新 史上最全 面试必备 2000页 面试必备 大厂必备 涨薪必备 免费赠送 经典…

头歌:Ping服务端创建UDP套接字(底部附全关完整答案)

头歌实践教学平台 (educoder.net)在 Ping 的 服务程序中 创建一个使用 UDP 协议的 套接字数据包套接字类型套接字三种类型:流式套接字(SOCK_STREAM),数据包套接字(SOCK_DGRAM)及原始套接字(SOCK_RAW)数据包格式套接字(Datagram So…

JavaSE---多用户网络通信系统

目录 项目开发流程 多用户网络通信系统的架构设计 客户端 界面层 服务层 管理层 服务端 服务层 功能层 管理层 总结 项目开发流程 多用户网络通信系统的架构设计 整体 作为一个可供多个用户使用的通信系统,那么每个用户和其他用户之间的连接必定不是直接…

电脑宽带连接提示错误代码769怎么办?

有用户反映,在使用宽带连接网络时,出现错误代码769,无法连接到指定目标怎么办?这里整理了错误代码769的可能原因和修复方法,带大家顺利连接网络。错误代码769的原因:连接线松动或损坏网卡被禁用网卡驱动过时…