若依框架快速入门

首先看若依文档

一般情况下,

ruoyi-system是储存后台代码的,

ruoyi-ui是储存前端代码的

1.拉取代码
2.若依的结构

3.运行SQL脚本

sql文件夹中是有两个sql脚本的,这两个脚本都是若依开源项目的必须脚本,需要运行在你自己 的数据库中,如果报错就交换一下两个脚本的运行顺序即可。

//在运行完两个脚本之后只需要修改若依一下配置即可运行了。 在数据库中生成数据。

4.修改配置文件
1.application-druid.yml
# 主库数据源
            master:
                url: jdbc:mysql://localhost:3306/medical?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
                username: root
                password: 

修改application-druid.yml文件,数据库的连接。填写好自己的账号名及密码并将修改数据库的库名。

2.application.yml:

看一下主配置文件

这个文件是若依框架的主配置文件 ,主要有一下相关配置:

①ruoyi:这里是关于你这个项目的基本信息,里面有一个是验证码的形式(主要有数字个字符两种形式,可以自行选择,当然如果你不想要验证码也可以去数据库中找到sys_config这个配置表将其关闭如下图所示👇)

②server:这里是开发环境的设置,修改后台端口号就是在这个地方,一般情况下也不需要动这个地方除非默认的8080端口被占用了

③logging:这里是日志的显示形式,默认是debug的形式

④user:用户配置

⑤spring:里面有一个redis是需要修改地址和密码的,端口号一般情况下是默认的,redis这里有两种使用方式,一个是远程的,一个是本地的,这里建议是使用本地的,因为远程的服务不稳定需要考虑网络因素,有时就是因为一个redis项目卡在那就是因为这个原因,这里值得一提的是安装redis的时候不要装错了,比如说我的就是Windows的,就装Windows就行了,下面是redis官网。

⑥token:令牌的配置

⑦pagehelper:分页插件的配置

⑧swagger:swagger框架的配置

⑨xss:防止跨站脚本攻击的配置

6.启动Redis
7.安装node.js

安装node.js。需要安装node.js才能运行。

8.运行前台服务

npm run dev 启动前台服务

1.在ruoyi-ui模板下打开命令指示符

# 进入项目目录
cd ruoyi-ui
# 安装依赖
npm install

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

运行时候出错,这个是版本问题。安装

1.安装nvm管理工具(先关掉360等软件,不然会弹出警告!)

1.从官网下载安装包: https://github.com/coreybutler/nvm-windows/releases,下载:nvm-setup.exe

安装成功后,输入命令行nvm use node版本号(nvm use 16.17.0)

验证是否成功
分别输入命令行node -v和npm -v,检验node.js以及对应npm是否安装成功,如果可以显示版本号这说明安装成功。

再次运行npm run dev。成功。

9.启动后端服务

即启动 ruoyi-admin\src\main\java\com\ruoyi\RuoYiApplication.java,启动类。或者打包运行。

    1. 启动方式:即启动 ruoyi-admin\src\main\java\com\ruoyi\RuoYiApplication.java,启动类
    2. 打包方式:
  • 打包工程文件

在ruoyi项目的bin目录下执行package.bat打包Web工程,生成war/jar包文件。
然后会在项目下生成target文件夹包含war或jar

提示

多模块版本会生成在ruoyi/ruoyi-admin模块下target文件夹

  • 部署工程文件

1、jar部署方式
使用命令行执行:java –jar ruoyi.jar 或者执行脚本:ruoyi/bin/run.bat

2、war部署方式
ruoyi/pom.xml中的packaging修改为war,放入tomcat服务器webapps

打包时出现问题

修改D:\Maven\apache-maven-3.6.1\bin\mvn.cmd,这个文件
在第一行添加:set JAVA_HOME=D:\develop\java\jdk8\jre(注意:此处为你的jdk文件中jre文件夹的路径!)

运行时出错

ruoyi默认的端口8080被占用,修改前后端端口号(关闭启动类就行了,一般是启动类占用了端口,IDEA中关闭启动类)

1.前端ruoyi-ui

打开文件vue.config.js,找到 [process.env.VUE_APP_BASE_API] ,改target中localhost后的端口号(端口号随意,我这里用的1998)

2.后端RuoYi-Vue-master

(1)打开文件application.yml,路径:ruoyi-admin -> application.yml

找到开发环境配置,在server下的port更改端口号,如图

输入端口号

上图这个问题是因为访问的后端端口,前端端口为80,前端的服务没有启动(在ruoyi-ui下cmd运行npm run dev 启动前台服务)

10.node是什么

Node.js是一个javascript运行环境。它让javascript可以开发后端程序,实现几乎其他后端语言实现的所有功能,可以与PHP、Java、Python、.NET、Ruby等后端语言平起平坐。

Nodejs是基于V8引擎,V8是Google发布的开源JavaScript引擎,本身就是用于Chrome浏览器的js解释部分,但是Ryan Dahl 这哥们,鬼才般的,把这个V8搬到了服务器上,用于做服务器的软件。

11.权限表达式

SpringSecurity(十一): 权限表达式

1、Spring Security 允许我们使用 Spring EL 表达式,来进行用户权限的控制,如果对应的表达式结果返回true,则表示拥有对应的权限,反之则无。

Spring Security 可用表达式对象的基类是SecurityExpressionRoot

表达式

描述

permitAll()

总是返回true,表示允许所有访问(认证不认证都可访问 URL或方法

denyAll()

总是返回false,表示拒绝所有访问(永远访问不到指定的 URL或方法

isAnonymous()

当前用户是一个匿名用户(未登录用户)允许访问,返回true

isRememberMe()

当前用户是通过Remember-Me自动登录的允许访问,返回true

isAuthenticated()

当前用户是已经登录认证成功的允许访问(包含了rememberMe自动 登录的),返回true

isFullyAuthenticated()

如果当前用户既不是一个匿名用户,同时也不是通过Remember-Me自 动登录的,则允许访问(可以理解为通过页面输入帐户信息认证的)。

hasRole(String role)

当前用户拥有指定角色权限的允许访问,返回true。注意: 指定的角色名(如: ADMIN ) SpringSecurity 底层会在前面拼接 ROLE_ 字符串,所以在UserDetailsService实现类,数据库返回的角色名要有ROLE_ADMIN

hasAnyRole([role1, role2])

多个角色以逗号分隔的字符串。如果当前用户拥有指定角色中的任意一个则允许访问,返回true。

hasAuthority(String authority)

当前用户拥有指定权限标识的允许访问,返回true。注意:和 hasRole

区别是, hasAuthority 不会在前面拼接 ROLE_ 字符串, 。

hasAnyAuthority([auth1,auth2])

多个权限标识是以逗号分隔的字符串。如果当前用户拥有指定权限标识中的任意一个则允许访问,返回true

hasIpAddress("192.168.1.1/29")

限制指定IP或指定范围内的IP才可以访问

2、表达式控制URL权限

a、拥有 sys:user 权限的用户,可以访问任意请求方式的 /user

.antMatchers("/user").hasAuthority("sys:user")

b、拥有 sys:role 权限的用户,可以访问 get 请求方式的 /role

.antMatchers(HttpMethod.GET, "/role").hasAuthority("sys:role")

c、 如果想同时满足多个表达式权限,要使用 access 方法来指定表达式

如:拥有 sys:permission 权限或 ADMIN 角色,可以访问 get 请求

.antMatchers(HttpMethod.GET, "/permission").access("hasAuthority('sys:permission') or hasAnyRole('ADMIN')") //角色会加上前缀 ROLE_,即真实是 ROLE_ADMIN

这段代码看起来是使用了Spring Security中的@PreAuthorize注解,该注解通常用于方法级别的访问控制。具体来说,这段代码表明了一个方法或者类中的某个方法需要用户在执行之前满足特定的权限。

分解一下这段代码:

@PreAuthorize(“@ss.hasPermi(‘system:user:list’)”)

@PreAuthorize注解表示在方法执行之前进行权限验证。

"@ss.hasPermi('system:user:list')"是权限表达式,它指定了所需的权限。这里的权限表达式看起来是Spring Security中自定义的,可能涉及到系统用户列表的权限。

猜测的作用是,只有具有'system:user:list'权限的

12.字典管理

点击sys_user_sex点进来如下图:

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

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

相关文章

Django中的模板

目录 一:基本概念 二:模板继承 在Django中,模板是用于呈现动态内容的HTML文件。它们允许你将动态数据与静态模板结合起来,生成最终的HTML页面。 Django模板使用特定的语法和标签来插入动态内容。你可以在模板中使用变量、过滤器和标签来控…

XVC768AE102 3BHB007211R0102

XVC768AE102 3BHB007211R0102 XVC768AE102 3BHB007211R0102 基于CAN总线接口和模块控制器实现组合机床电控通信系统的设计 "... 并联组合机床电控的数据采集模块和CAN总线组成。 本文研究的 ... 。 监控主机通过CAN总线从各模块获取现场控制数据,监控整个系…

头戴式耳机什么牌子性价比高?公认高性价比的头戴式耳机推荐

头戴式耳机作为现代音乐与声音体验的必备品,一直以来都备受消费者的关注,那么,在众多的品牌中,哪些头戴式耳机的性价比最高呢?本文将为你揭晓这个秘密,推荐一些公认的高性价比头戴式耳机,让你在…

C/C++实现无序入参的命令解析工具

C/C实现无序入参的命令解析工具 1 实现思路2 主要功能3 效果展示3.1 直接运行代码图3.2help命令执行效果图3.3命令行执行命令解析效果图 4 代码实现5 代码下载 1 实现思路 基本介绍: 思路来源于atlas,atc(模型转换工具),该工具对命令支持众多&#xff0…

Unity 导入图片时,如何自动设置格式

AssetPostprocessor是Unity中的一个强大工具,它允许您控制在导入资源时发生的事情。它主要被用来处理在导入或重新导入资源时自定义编程操作的需求。 AssetPostprocessor的主要作用: 1. 自定义资源导入设置:可以自定义图片,模型&…

TensorFlow2实战-系列教程4:数据增强

🧡💛💚TensorFlow2实战-系列教程 总目录 有任何问题欢迎在下面留言 本篇文章的代码运行界面均在Jupyter Notebook中进行 本篇文章配套的代码资源已经上传 猫狗识别1 数据增强 猫狗识别2------数据增强 猫狗识别3------迁移学习 对于图像数据…

微信公众号在线客服源码系统,开发组合PHP+MySQL 带完整的安装代码包以及搭建教程

移动互联网的快速发展,微信公众号成为了企业与用户之间的重要沟通桥梁。为了满足企业对微信公众号在线客服的需求,小编给大家分享一款基于PHP和MySQL的微信公众号在线客服源码系统。这套系统能够帮助企业快速搭建自己的微信公众号在线客服平台&#xff0…

构建中国人自己的私人GPT—支持中文

上一篇已经讲解了如何构建自己的私人GPT,这一篇主要讲如何让GPT支持中文。 privateGPT 本地部署目前只支持基于llama.cpp 的 gguf格式模型,GGUF 是 llama.cpp 团队于 2023 年 8 月 21 日推出的一种新格式。它是 GGML 的替代品,llama.cpp 不再…

AVR 328pb定时器0基本介绍和使用

AVR 328pb定时器0基本介绍和使用 📌参考ATmega328PB文档.📍结合参考同架构lgt8f328p中文文档:http://www.prodesign.com.cn/wp-content/uploads/2023/03/LGT8FX8P_databook_v1.0.4.pdf 📗定时器0基本功能描述 两个独立的输出比较…

【Web前端实操21】商城官网_白色导航

今日份实现白色导航栏部分,也就是第三部分,效果如图中划线所示: 本次实现代码如之前的全局样式不再赘述,如有需要可以去我博客的Web前端实操19或者20自行查看。 本次主要更新mi.css和index.htm。 实现导航栏所需要的CSS样…

Handler 消息机制

1. 概述 Android 的消息机制主要是指 Handler 的运行机制,以及 Handler 所附带的 MessageQueue 和 Looper 的工作过程。 Handler、MessageQueue、Looper 这三者实际上是一个整体,只不过在开发过程中比较多地接触 Handler 而已。 Handler 的主要作用是将…

Redis单机-主从集群-哨兵集群-分片集群 搭建教程

Redis集群 本章是基于CentOS7下的Redis集群教程,包括: 单机安装RedisRedis主从Redis分片集群 1.单机安装Redis 首先需要安装Redis所需要的依赖: yum install -y gcc tclredis-6.2.4.tar.gz 然后将Redis安装包上传到虚拟机的任意目录&am…

Python编程实验一:流程控制结构

目录 一、实验目的与要求 二、实验内容 三、主要程序清单和程序运行结果 第1题 第2题 第3题 第4题 四、实验结果分析与体会 一、实验目的与要求 (1)通过本次实验,学生应掌握多分支语句 if …elif…else结构的用法; &…

丰富福利等你来拿!第七届世界智能大会·中国华录杯数据湖算法大赛开启招募!

由天津市委网信办、天津市工业和信息化局、天津市津南区人民政府主办,北京易华录信息技术股份有限公司、天津华易智诚科技发展有限公司承办的“第七届世界智能大会中国华录杯数据湖算法大赛”开启招募。 本次大赛紧紧围绕数据“收、存、治、用、易”为理念&#xf…

低码大前端 - 混合云集群部署 PagePlug

前情提要 老师之前布置了什么作业,完全忘了,本来觉得写作业可能也就一两个小时的事情,结果搞了半天,有一半的作业题目都没找到,mmp, 之前拖延症,搞到心态都炸了,今天不管怎么说都要搞定&#x…

Redis核心技术与实战【学习笔记】 - 9.如何避免单线程模型的阻塞

概述 Redis 被广泛应用的原因是因为它支持高性能访问。所以,我们要重视所有可能影响 Redis 性能的因素(如命令操作、系统配置、关键机制、硬件配置等)。 影响 Redis 性能的 5 大方面的潜在因素分别是: Redis 内部的阻塞式操作C…

测试大佬是怎么看待测试用例设计的

前言 最近干的最多的事情就是设计测试用例、评审测试用例了,于是我不禁又想到了一个经典的问题:如何设计出优秀的测试用例? 可能有些童鞋看到这个问题会有些不以为然,这有什么好想的?干个测试谁还不会设计测试用例&…

41、WEB攻防——通用漏洞XMLXXE无回显DTD实体伪协议代码审计

文章目录 XXE原理&探针&利用XXE读取文件XXE带外测试XXE实体引用XXE挖掘XXE修复 参考资料:CTF XXE XXE原理&探针&利用 XXE用到的重点知识是XML,XML被设计为传输和存储数据,XML文档结构包括XML声明、DTD文档类型定义&#xf…

XVC767AE102 3BHB007209R0102

XVC767AE102 3BHB007209R0102 XVC767AE102 3BHB007209R0102 GPS99808模块在汽车防盗系统中的应用 ... 详细介绍了 leadtek公司最新款oem模块gps9808在新型智能防盗系统中的 ... 定位模块、cpu控制模块、gps通信模块、传感器检测模块、声光报警模块、电源管理模块 ... 功能…

k8s之基础组件说明

前言 K8S,全称 Kubernetes,是一个用于管理容器的开源平台。它可以让用户更加方便地部署、扩展和管理容器化应用程序,并通过自动化的方式实现负载均衡、服务发现和自动弹性伸缩等功能。 具体来说,Kubernetes 可以将应用程序打包成…