- 博客(191)
- 收藏
- 关注
原创 解决main方法中String形参类型报红,且多处报红
修改路径:Project-Structure —> Project -----> Project SDK ------> Edit ------> 添加本地JDK(jdk1.8为例)最后IDEA会indexing JDK。通常我们点击ok之后在进行查看,就恢复正常了。在打开别人项目时,main方法中String形参类型报红,且多处报红。查看路径:Project-Structure —> Project。可能是由于打开别人的项目,导致项目没有导入本地JDK。
2023-11-05 22:12:42 274
原创 MultiValueMap是什么?怎么使用?
MultiValueMap 可以同一个key下面放多个value,此类来自spring,在spring-core里面。
2023-06-16 14:05:34 578
原创 JsonArray用法讲解
这个示例中,首先使用JsonParser将Json字符串解析为JsonArray。然后再使用get方法获取JsonObject中的数据,最终输出解析结果。JsonElement是Json中的基本数据类型,可以是JsonArray、JsonObject、JsonPrimitive或JsonNull。JsonArray是Json中的一个数据类型,本文将讲解JsonArray的用法。这将获取jsonArray中下标为1的JsonElement,即"orange"。这将输出JsonArray中的所有元素。
2023-06-06 15:25:07 11515
原创 关于CentOS7虚拟机配置静态IP地址及ping不通通百度等官网
点击 ---编辑 ----->>> 虚拟网络编辑器 ------>>> VMnet8 NAT模式 ------>>> NAT设置 ----->>> 记住子网掩码和IP网关,后面会用到!点击 ---虚拟机 ----->>> 设置 ----->>> 网络适配器 ------>>> 高级 ----->>> 记住MAC地址,后面会用到!鼠标右键 ----->>> 属性 ----->>> internet协议版本4(TCP/IPV4)----->>> 鼠标左键双击。
2023-04-18 23:10:29 5912 8
原创 IDEA导入项目不能识别为maven项目解决办法
IDEA 中新打开了一个 Maven 项目,但是打开后,Maven 的依赖包都没有下载。导致项目也无法编译通过,右侧也没有Maven 视图。IDEA 中新打开了一个 Maven 项目,但是打开后,Maven 的依赖包都没有下载。导致项目也无法编译通过,右侧也没有Maven 视图。在 pom.xml 文件上右键,选择「Add as Maven Project」。在 pom.xml 文件上右键,选择「Add as Maven Project」。这时候,会发现 pom.xml 文件上的小图标发生了变化。
2023-04-01 00:46:46 3689
原创 Springboot2.0防止XSS攻击的几种方式
在平时做项目代码开发的时候,很容易忽视XSS攻击的防护,网上有很多自定义全局拦截器来实现XSS过滤,其实不需要这么麻烦,SpringBoot留有不少钩子(扩展点),据此我们可以巧妙地实现全局的XSS过滤。转载链接:https://blog.csdn.net/changzhi9421/article/details/121693397。自定义转换器,集成PropertyEditorSupport类实现,转换器还可以实现数据格式转换,例如:date的转换;jsoup实现了非常强大的clean敏感标签的功能。
2023-03-29 11:55:38 379
原创 SQL模糊查询-[1]
6、LIKE’[M-Z]inger’ 将搜索以字符串 inger 结尾、以从 M 到 Z 的任何单个字母开头的所有名称(如 Ringer)。3、LIKE’%en%’ 将搜索在任何位置包含字母 en 的所有字符串(如 Bennet、Green、McBadden)。4、LIKE’_heryl’ 将搜索以字母 heryl 结尾的所有六个字母的名称(如 Cheryl、Sheryl)。7、LIKE’M[^c]%’ 将搜索以字母 M 开头,并且第二个字母不是 c 的所有名称(如MacFeather)。
2023-03-29 11:24:02 134
原创 System.getProperty(“os.name“)在不同操作系统上的输出
System.out.println(System.getProperty("os.name"));
2023-03-16 12:05:08 315
原创 常见对象(Calendar类的概述和使用方法)
Calendar:它为特定瞬间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等 日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。* public void add(int field,int amount):根据给定的日历字段和对应的时间,来对当前的日历进行操作。* public final void set(int year,int month,int date):设置当前日历的年月日。
2023-03-15 14:56:51 157
原创 Java中HttpClientUtil工具类
HttpClientUtil工具类是java 调用第三方接口时需要使用到的,例如:在系统之间交互时获取参数。HttpClientUtil 包含get和post方法。1、创建CloseableHttpClient对象,用于执行excute方法。2、创建HttpPost或者HttpGet请求对象。3、执行请求,判断返回状态,接收响应对象。
2023-03-13 14:05:04 832
原创 Java创建类的三种方式
将字节吗文件加载进内存,返回Class对象,多用于配指文件,将类名定义在配置文件中,便于利用java的反射机制生成类对象,加载类。对于三种方式获取到的类对象都指向堆内存中同一个地址,所以三种方式获取的类对象都是同一个,根据实际应用环境选择使用。通过类名的属性class获取,多用于传递参数。多用于对象获取字节码的方式。
2023-02-04 22:20:23 2178
原创 端口号被占用:Identify and stop the process that‘s listening on port 10000 or configure this application...
他百度云检测服务进程,其实就是百度云管家,相关可执行一般位于百度云管家安装目录内。该启动项是因为用户安装百度云管家,被加入到开机启动项中的。下图第四步可以看到,PID为20708的家伙占用了我的10000端口。至于这个YunDetectService.exe是什么?所以,如果你不经常使用百度云管家,可以直接将他禁用掉!然后在任务管理器中找到这家伙,右键结束程序即可!1、看看是谁占用了我的端口号!
2023-01-31 22:20:06 1060
原创 Spring Cache缓存技术,Cacheable、CachePut、CacheEvict、Caching、CacheConfig注解的使用
如果一个类中的所有方法上的Cacheable、CachePut、CacheEvict这三个注解,他们的都是cacheNames都是指向同一个或者同一批cache的,那么就可以用把@CacheConfig注解这些cacheNames都抽取出来,然后将此注解标注在类上。所以此注解是用于删除缓存中指定key的数据的。注意:@Cacheable注解的key属性中不能使用#result取出方法执行后的返回值,因为@Cacheable注解是先到缓存中查找,在执行方法的,在没执行方法前,#result是取不到值的。
2023-01-30 15:24:26 4805
原创 IPv4 forwarding is disabled. Networking will not work.
二,如果你是docker容器运行镜像的时候也是报这种错误,相对应得也是重启一下docker就可以完美解决了了。注意:在这里强调,强制进入或者进入镜像,进入后会引起yum install和wget等不能使用。第二步:重启network和docker服务。一,docker 运行直接报错。有什么不懂可以随时私我哦。第一步:在宿主机上执行。第三步:验证是否成功。
2023-01-30 09:42:59 1073
原创 springboot中import注解的作用
(如果不声明 @EnableAsync 单独使用 @Async 是不会生效的,其他的同理)那么如果有时候,想要使用引用一些外部 bean 的时候(比如三方包中的),可以通过 @SpringBootApplication 的 scanBasePackages 的值,但是其实你只想引入某一个 bean,那么就可以使用 @Import 将其引进来。:SpringBoot 扫描 Bean 的时候,默认是扫描的。
2023-01-29 10:53:45 283
原创 虚拟机开机无法启动原因
原因:虚拟机在运行时会创建相应的文件,即在虚拟机的安装目录下自动产生.lck锁定文件文件,这是虚拟机的虚拟磁盘(.vmdk)自带的磁盘保护机制,防止多台虚拟机同时访问同一个虚拟磁盘造成对磁盘修改、数据丢失以及性能的削减。在启用了Credential Guard或Device Guard的Windows 10主机上启动12.5版之前的VMware Workstation中的虚拟机时,将显示蓝色诊断屏幕(BSOD)。如果是强制关机,属于异常退出,虚拟机尚未来地及删掉,这就影响了下一次的正常启动。
2023-01-29 09:15:36 12782 2
原创 springboot上传文件大小配置
通过配置一个Bean来实现,注意在这个类上需要引入注解 @Configuration ,不然是扫描不到这个配置。springboot上传文件大小配置有两种方法,一种是直接再配置文件配置,一种是通过添加一个Bean来实现。单位可以是 KB,MB 大小可以根据自己的实际需求设定。maxRequestSize是设置总上传的数据大小。// 设置总上传数据总大小。application.properties中添加。maxFileSize 是单个文件大小。// 单个数据大小。// 总上传数据大小。
2023-01-14 11:53:33 6417
原创 计算机存储单位 t后面的单位,数据存储计量单位除了B、K、M、G、T,还有什么?怎么换算?
目前计算机都是二进制的,让它们计算单位,只有2的整数幂时才能非常方便计算机计算,因为电脑内部的电路工作有高电平和低电平两种状态.所以就用二进制来表示信号,(控制信号和数据),以便计算机识别。而人习惯于使用10进制,所以存储器厂商们才用1000作进率。这样导致的后果就是实际容量要比标称容量少,不过这是合法的。1024是2的10次方,因为如果取大了,不接近10的整数次方,不方便人们计算;取小了,进率太低,单位要更多才能满足需求,所以取2的10次方正好。计算机储存单位的进率是1024而不是1000。
2023-01-14 08:57:25 2186
原创 com.alibaba.csp.sentinel.datasource.nacos.NacosDataSource异常
通过日志可以看出是缺少依赖的原因。
2023-01-07 20:41:20 2005
原创 @Component注解顶级注解和它的扩展注解
Component是一个元注解,意思是可以注解其他类注解,如@Controller @Service @Repository @Aspect。官方的原话是:带此注解的类看为组件,当使用基于注解的配置和类路径扫描的时候,这些类就会被实例化。其他类级别的注解也可以被认定为是一种特殊类型的组件,比如@Repository @Aspect。所以,@Component可以注解其他类注解。
2023-01-07 09:51:02 187
原创 [Sentinel2]-Sentinel介介绍
Sentinel 提供一个轻量级的控制台, 它提供资源实时监控以及规则管理等功能。Sentinel (分布式系统的流量防卫兵) 是阿里开源的一套用于。:给每个接口分配独立线程数,出现故障时能将问题隔离在内部而不扩散。超出阈值的时候,则暂时切断对下游服务的调用,避免级联故障。,默认账号密码:sentinel/sentinel。:调用该接口的QPS达到阈值的时候进行控制。-- sentinel启动器 -->等多个维度来保护服务的稳定性。Sentinel的主要功能就是。(不被下游服务拖垮)1.2.4.2.测试。
2023-01-06 19:46:53 136
原创 [Sentinel1]-雪崩效应和常见容错组件
容错说白了就是保护自己不被猪队友拖垮的一些措施。我们无法完全杜绝雪崩源头的发生,只有做好足够的容错,保证在一个服务发生问题,不会影响到其它服务的正常运行。也就是"雪落而不雪崩"。
2023-01-06 19:41:26 82
原创 [调优]-Feign配合Ok Http连接池
在HTTP 通信的过程中,建立连接是一个很复杂的过程,涉及到多个数据包的交换,很耗时间,而且HTTP连接需要3次握手和4次挥手开销都很大。这时可以采用HTTP连接池,节约大量的3次握手4次挥手时间,提升吞吐量。默认的HttpURLConnection是JDK自带的,并不支持连接池,如果要实现连接池的机制,还需要自己来管理连接对象。HttpClient 相比传统JDK自带的HttpURLConnection,它封装了访问HTTP的请求头,参数,内容体,响应等等。
2023-01-06 11:05:57 2307 1
原创 Feign原理
在消费者的启动类上加上@EnableFeignClients注解开启Feign扫描,先调用FeignClientsRegistrar.registerFeignClients()方法扫描@FeignClient注解的接口(暴露的接口上必须要加FeignClient注解,才能被消费者启动类上的@EnableFeignClients扫描到),再将这些接口注入到Spring IOC容器中,方便后续被调用。该对象封装了HTTP请求需要的全部信息,如请url、参数,请求方式等信息都是在这个过程中确定的。
2023-01-06 09:48:49 82
原创 Centos修改IP
第一个IPADDR这个是设置分配给系统的ip,也就是供外部连接的ip(如Xshell连接),使用ip adrr命令显示出来的ip就是这个,这个根据网关和子网掩码来设置,例如我的网关是192.168.58.2/24,IPADDR我就可以设置为192.168.58.2~198.168.58.254其中的任何一个。最下面那个DNS可以配置多个,也可以配置一个,配置成8.8.8.8或者直接和你的网关相同都可。打开虚拟机——> 编辑——>虚拟网络配置(以NAT模式为例)根据自己的网络信息修改。
2023-01-04 20:07:23 4087
原创 Redis的应用场景
默认Session是保存在服务器的内存中,如果是集群服务,同一个用户过来可能落在不同机器上,这就会导致用户频繁登陆;采用Redis保存Session后,无论用户落在那台机器上都能够获取到对应的Session信息。将一些数据在短时间之内不会发生变化,而且它们还要被频繁访问,为了提高用户的请求速度和降低网站的负载,降低数据库的读写次数,就把这些数据放到缓存中,比如数据字典值。消息队列(ActiveMQ/RabbitMQ/Kafka/RocketMQ)nginx+lua+redis计数器进行IP自动封禁。
2023-01-04 16:39:57 65
原创 JOIN与INNER JOIN区别
2、INNER JOIN :被联接的字段的名称。若不是由数字构成的,则这些字段必须为相同的数据类型并包含同类数据,但无须具有相同的名称。1、JOIN:每个主键的值都是唯一的。这样做的目的是在不重复每个表中的所有数据的情况下,把表间的数据交叉捆绑在一起。2、INNER JOIN :只要在这两个表的公共字段之中有相符值,内部联接将组合两个表中的记录。2、INNER JOIN :组合两个表中的记录,只要在公共字段之中有相符的值。1、JOIN:用于根据两个或多个表中的列之间的关系,从这些表中查询数据。
2023-01-03 19:28:40 17366 2
原创 yum命令
Yum(全称为 Yellow dogUpdater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。
2023-01-03 13:34:01 334
原创 vue 中slot-scope的作用
的一个作用就是获取当前所在元素的数据,令slot-scope值为scope,那么由scope.row就可以得到数据了。1.slot-scope="scope"来取得作用域插槽:data绑定的数据,scope可以随便替换其他名称,只是定义对象来代表取得的data数据,用于使用而已。2.在我们使用vue中的ele-ui组件的时候,我们经常使用template插槽,其中的slot-总的来说就是 scope-slot就是可以用子组件里面的数据, 可以操作子组件里面的数据.
2023-01-02 17:42:39 6815
原创 npm常用指令
10. npm update gulp //可以把当前目录下node_modules子目录里边的对应模块更新至最新版本。11. npm unpublish npmhswcommonwei@1.0.2 // 可以撤销发布自己发布过的某个版本代码。8. npm publish --registry=https://指定你要推送的包管理库。npm -v //查看版本号。9. npm version patch // 更新版本。
2022-12-22 15:17:46 307
原创 动态SQL 模糊查询 联表查询
通过观察: 发现使用${}实际上是字符串拼接,它不能防止sql注入, 而#{}它是预编译,它可以防止sql注入问题,#{}实际使用的PreparedStatement.如果传递的参数值为null,那么应该不修改该列的值。如果你使用的为数组array 如果你使用的为集合 那么就用list。--set:可以帮我们生成关键字 set 并且可以去除最后一个逗号-->在执行查询语句时不建议大家使用select *, 建议大家把查询的列写出。上面你要是绝的没有懂,那么这里可以使用的一个笨的方式: 但是不推荐。
2022-12-20 21:22:52 1100
原创 VUE[1]-【掌握】v-text,v-html,v-pre,v-once指令
Vue.js 使用了基于 HTML 的模板语法,允许开发者声明式地将 DOM 绑定至底层 Vue 实例的数据。所有 Vue.js 的模板都是合法的 HTML ,所以能被遵循规范的浏览器和 HTML 解析器解析。为了输出真正的HTML,可以用v-html指令。之后的重新渲染,实例极其所有的子节点将被视为静态内容跳过,这可以用于优化更新性能。这里面的元素是在页面加载时渲染一次,后面如果相关属性发生变化里面的值是不会变的。【掌握】v-text,v-html,v-pre,v-once指令。
2022-12-20 21:17:53 408
原创 SpringSecurity(前后端分离版)[7]-自定义权限校验方法
在SPEL表达式中使用 @ex相当于获取容器中bean的名字未ex的对象。然后再调用这个对象的hasAuthority方法。我们也可以定义自己的权限校验方法,在@PreAuthorize注解中使用我们的方法。//判断用户权限集合中是否存在authority。//获取当前用户的权限。
2022-12-18 13:20:49 165
原创 SpringSecurity(前后端分离版)[6]-在配置类中进行权限校验
这里我们先不急着去介绍这些方法,我们先去理解hasAuthority的原理,然后再去学习其他方法你就更容易理解,而不是死记硬背区别。并且我们也可以选择定义校验方法,实现我们自己的校验逻辑。hasAuthority方法实际是执行到了SecurityExpressionRoot的hasAuthority,大家只要断点调试既可知道它内部的校验原理。然后判断我们存入的方法参数数据在权限列表中。hasRole要求有对应的角色才可以访问,但是它内部会把我们传入的参数拼接上。所以这种情况下要用用户对应的权限也要有。
2022-12-18 13:19:12 233
原创 SpringSecurity(前后端分离版)[6]-跨域
浏览器出于安全的考虑,使用 XMLHttpRequest对象发起 HTTP请求时必须遵守同源策略,否则就是跨域的HTTP请求,默认情况下是被禁止的。由于我们的资源都会收到SpringSecurity的保护,所以想要跨域访问还要让SpringSecurity运行跨域访问。// 除上面外的所有请求全部需要鉴权认证。// 设置允许的header属性。// 对于登录接口 允许匿名访问。// 设置允许跨域请求的域名。// 是否允许cookie。// 设置允许的请求方式。// 设置允许跨域的路径。
2022-12-18 13:16:46 532
原创 SpringSecurity(前后端分离版)[4]-自定义失败处理
我们还希望在认证失败或者是授权失败的情况下也能和我们的接口一样返回相同结构的json,这样可以让前端能对响应进行统一的处理。要实现这个功能我们需要知道SpringSecurity的异常处理机制。在SpringSecurity中,如果我们在认证或者授权的过程中出现了异常会被ExceptionTranslationFilter捕获到。在ExceptionTranslationFilter中会去判断是认证失败还是授权失败出现的异常。
2022-12-18 13:16:04 454
原创 SpringSecurity(前后端分离版)[3]-授权
例如一个学校图书馆的管理系统,如果是普通学生登录就能看到借书还书相关的功能,不可能让他看到并且去使用添加书籍信息,删除书籍信息等功能。SpringSecurity为我们提供了基于注解的权限控制方案,这也是我们项目中主要采用的方式。我们前面在写UserDetailsServiceImpl的时候说过,在查询出用户后还要获取对应的权限信息,封装到UserDetails中返回。`user_type` char(1) NOT NULL DEFAULT '1' COMMENT '用户类型(0管理员,1普通用户)',
2022-12-18 13:15:13 118
原创 SpringSecurity(前后端分离版)[2]-认证
从之前的分析我们可以知道,我们可以自定义一个UserDetailsService,让SpringSecurity使用我们的UserDetailsService。`user_type` CHAR(1) NOT NULL DEFAULT '1' COMMENT '用户类型(0管理员,1普通用户)',`del_flag` INT(11) DEFAULT '0' COMMENT '删除标志(0代表未删除,1代表已删除)',SpringSecurity的原理其实就是一个过滤器链,内部包含了提供各种功能的过滤器。
2022-12-18 13:12:28 272
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人