自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(69)
  • 收藏
  • 关注

转载 centos7 虚拟机没有网解决办法

转发至:https://blog.csdn.net/hardhard123/article/details/105605370。将该文件中的ONBOOT=no修改为ONBOOT=yes即可。最后重启服务即可连接到网络。

2023-03-24 21:45:09 777

原创 【ClassNotFoundException】报类找不到的排查思路

报ClassNotFoundException问题的排查思路

2022-09-06 19:02:56 978

原创 SpringBoot单元测试用法

参考链接:https://www.cnblogs.com/myfrank/p/15709660.htmlhttps://www.bilibili.com/video/BV1bC4y1h7MFhttps://blog.csdn.net/kmesky/article/details/102984592现象:使用下面版本的springboot,单元测试类下的@RunWith爆红<!-- 父model --><parent> <groupId>o

2022-02-25 00:26:52 592 1

原创 Long类型的id使用==比较带来的问题

场景:从数据库中查找出一条记录,返回为A对象,A对象的id变量为Long类型,该id值为1373995515313754114。现在控制器接收一个Long类型的参数demandId,值同样为1373995515313754114,此时在Service层有个条件判断恰好是要比较A.id与demandId是否相当。这个时候条件反应使用了if(A.id == demandId);该条件判断即使是两个值是相等的也会返回false。原因:Long类型是包装类型,==比较符号比较的是两个对象的地址值,从而导致始终返回

2021-03-26 00:34:20 867 1

原创 使用Lombok的@Data注解带来的bug

问题描述:POJO类使用Lombok的@Data注解来代替手动生成的Getter,Setter。然而Controller层的映射方法的参数的uId属性没能映射上来。分析过程:使用postman模拟请求,请求参数为json格式,其中一个uId的键值对始终没能映射到控制器方法的参数中,始终为null,该POJO的uId为Integer类型。后来修改该成员变量的名称为userId后,对应的postman的参数中key也为userId,发现控制器方法的参数的该字段封装上了。其二,把userId改回uId,去掉

2021-03-19 01:05:20 972 1

原创 理解泛型擦除,及反射的应用

需求描述:需要往List类型的集合中添加Integer或Long或其他类型的数据。如何实现这个需求呢?分析:理解泛型擦除,反射的应用泛型擦除,先看下List类的源码,public interface List<E> extends Collection<E> {},可以看到List中用到了泛型。所谓的泛型擦除,即泛型的检查是发生在编译期,而经过编译后生成.class文件中是显式地指定了List的类型为某一类型(如果不加泛型,那该集合可以存储任意类型)。例如,.java文件中有一

2021-01-14 23:32:54 188

原创 Eclipse导入SSM并部署启动(整个过程因环境而异)

一、eclipse导入ssm项目1.eclipse导入ssm项目的过程,注意导入后,可以看到项目的左上角有地球的标志,代表着是web项目。而不是导入javase项目,否则是不能部署到tomcat中的。过程如下:2. 项目右键->选择Propreties->Targeted Runtimes->设置本地的Tomcat版本如果还没有添加本地的Tomcat,则手动添加。3、导入自己创建的依赖jar包目录。这里是把自己的依赖包目录导入进来。4、修改Deploy

2020-12-26 10:58:14 14467 6

原创 通过spring session了解装饰器模式

装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其结构。这种类型的设计模式属于结构型模式,它是作为现有的类的一个包装。这种模式创建了一个装饰类,用来包装原有的类,并在保持类方法签名完整性的前提下,提供了额外的功能。1。一、前景:在微服务架构的项目中做认证模块,涉及到分布式session共享问题2。。关于分布式下session共享问题,如下:1、一个是同一个服务,做了集群,都处于同一个域名下,如何解决session共享问题。2、不同的服务,拥有不同.

2020-12-08 21:41:34 248

原创 读图解HTTP 上野宣

1、理解:请求资源的实体请求资源的实体主体请求资源的实体首部报文首部报文主体在响应报文内,随状态码一起返回的信息会因为方法的不同而发生改变。比如,使用GET方法时,对应请求资源的实体会作为响应返回;而使用HEAD方法时,对应请求资源的实体主体不随报文首部作为响应返回(即在响应中只返回首部,不会返回实体的主体部分)1。理解来源参考下面文献。2、 HTTP报文用于 HTTP 协议交互的信息被称为 HTTP 报文。请求端(客户端)的HTTP 报文叫做请求报文,响应端(服务器端)的叫做响应报文。

2020-12-05 12:25:54 237

原创 JavaEE上传图片回显的场景

问题描述:最近练习个人博客项目的时候,涉及到上传图片的场景。一些案例上传的文件或者图片都是保存在Window系统下的指定目录,或者是保存在项目的类路径下的static目录下。但我想把项目Linux服务器上。如果是把上传的图片保存到类路径的static目录下,也就是target/classes/static,那如果再次把项目部署到服务器上时,会把target下的目录覆盖掉,导致项目前面运行过程中上传的图片丢失。解决方案:针对上传图片的场景,想到有以下几种解决方案:1、把上传的图片存放在target/

2020-11-15 23:55:35 161

原创 (ElasticSearch)关于term搜索不到指定数据的问题

一、问题描述:为什么term搜索“狂”有数据,而“狂神”没有呢?二、情况描述:mapping如下:三、分析分词器刚开始就会把你的狂神拆分成了狂和神,term的时候,es保存的是单个的字,所以你找不到。muyuwj的理解:es把存储的"狂神说Java name"拆分成了"狂",神,说,Java,name。然后存储在倒排索引中,所以导致使用term精准查找"狂神"没有结果。参考链接:https://www.cnblogs.com/imaye/p/9903897.html..

2020-11-04 12:33:47 1501

原创 Redis笔记

附录1-狂神说redis的笔记:参考链接:https://blog.csdn.net/DDDDeng_/article/details/1081185441、redis的事务到底有什么用?补充问题:虽然Redis的单条命令是保证原子性的,但是redis事务不能保证原子性,那redis的事务的作用是?答:Redis只能保证一个client发起的事务中的命令可以连续的执行,而中间不会插入其他client的命令。当一个client在一个链接中发出multi命令时,这个连接会进入一个事务上下文,该连接后

2020-10-28 15:51:19 73

原创 shiro配置路径为anno,但请求还是拦截下来了

踩坑点:没留意到ShiroFilterFactoryBean中配置的过滤认证规则是有序的,这个有序是指Map容器中的存储顺序。shiro进行过滤认证时是根据配置的容器存储顺序进行处理的。因此容器应该使用LinkedHashMap。一、问题描述在shiro的ShiroFilterFactoryBean中配置了(“/web/index",“anon”),但请求还是被拦截下来进行认证了。二、分析流程容器使用的是HashMap存储,对比存储不同个数的元素发现了问题所在。图一:存储12个元素,”/

2020-10-25 17:59:33 3619 2

原创 springmvc控制器的正确使用

一、问题描述想通过下面这个方法,接收postman的post请求,但参数为null;方法截图:postman传参截图:二、分析注意:post请求是可以接收url上的参数的。@PostMapping("/login")public R login(@RequestBody User user){ return new R()}(@RequestBody User user)封装的是body中的数据。前端请求的参数为json数据,参数在body里,是安全的。前端请求的参数为para

2020-10-22 23:31:19 295

原创 idea导入项目方式不正确,导致依赖已下载但注解还是爆红的

1、2、4、5、6、7、8、9、10、11、12.1、12.2、可以看到项目的目录结构变成了下边的这样,这才是我们想要的。13、问题来了,但Project Structure中的Modules是下面这样的,竟然有“main”和“manual_chapter01”,需要删掉“main”,项目的注解才不会爆红。—end...

2020-10-15 21:41:54 1223

原创 自定义realm出现doGetAuthorizationInfo多次重复调用

前言:此次排查的过程,主要是利用debug模式下,深入源码打断点才发现问题所在。一、问题描述:练习shiro认证授权,发现授权方法中相关的sql语句多次重复执行了。于是,各种排查,为什么会有多次重复执行相同的sql查询,这岂不是很影响性能。于是有了下面的排查过程。二、发现问题,截图如下:三、排查过程(过程1):肯定是先从shiro的配置文件逐个排查过了,没有任何发现,还是解决不了问题。(过程2):既然是多次sql语句执行,那考虑到是某个方法重复调用了。于是定位到了下边的这个方法。a)d.

2020-10-09 18:36:16 1478 2

原创 IDEA debug模式启动不了,却能正常run

问题描述:调试一个spring boot项目,调式的过程中出现了debug模式停留在bean装配到容器中,然后就没有然后了,就就是debug模式启动不成功程序。问题排查通过百度,发现有可能是断电打多了,导致程序启动时,出现“停住”的现象。最后把所有断点去掉,在debug模式下就能正常启动了。疑惑为什么打的断点会影响到程序的启动了,推测是该断点打到程序启动的过程中来了。...

2020-10-09 16:52:49 3099 1

原创 Iterator迭代器遍历过程出现ConcurrentModificationException的原因

情况一:遍历的过程,使用List集合的remove方法删除某个元素,使size的值发生变化,导致 hasNext成立,从而在进行下一步的ite.next()时执行checkForComodification()方法,检查出modCount != expectedModCount成立,最后抛出throw new ConcurrentModificationException()异常。调试源码核心变量的变化过程如下:调式源码详细过程如下:步骤1、首先Debug来到ite.hasNext();步骤2

2020-10-02 16:06:52 924

原创 理解Java传参是值传递

先看一段代码:String类型

2020-09-08 21:11:11 119

原创 深入理解反射机制

理解java反射机制Source源代码阶段,意味着经过编译器编译后生成的.class文件还没有加载进内存,还是在硬盘上。现在字节码要想变成对象,而对象是内存里边,也就是说需要把字节码加载进内存后才能够有这个对象。Class类对象阶段,该阶段需要把字节码文件加载进内存的,有一个东西,能够把字节码文件加载进内存,这个东西称为类加载器(对应着Class)。Runtime运行时阶段,该通过new Person()生成的对象去调用该对象的方法。...

2020-09-05 16:05:17 284

原创 Java的深浅拷贝

深/浅拷贝浅拷贝1,对于数据类型是基本数据类型的成员变量,浅拷贝会直接进行值传递,也就是将该属性值复制一份给新的对象。因为是两份不同的数据,所以对其中一个对象的该成员变量值进行修改,不会影响另一个对象拷贝得到的数据。2,对于数据类型是引用数据类型的成员变量,比如说成员变量是某个数组、某个类的对象等,那么浅拷贝会进行“引用传递”,也就是只是将该成员变量的引用值(内存地址)复制一份给新的对象。因为实际上两个对象的该成员变量都指向同一个实例。在这种情况下,在一个对象中修改该成员变量会影响到另一个对象的该成员

2020-08-25 12:17:35 147

原创 failureForwardUrl和failureUrl混淆使用带来的坑

1. 现象:Spring Security自定义登录页面,表单认证错误后,前端没接受到“?error”。但是,表单输入正确的账户和密码,可以正常认证且跳转到defaultSuccessUrl的路径,而表单的账户密码错误,前端没能根据下图${param.error}做出响应。2. 核心代码:后端自定义登录(正式由于采用方式一导致出现本次的现象)后端控制器前端表单补充说明:登录认证是采用自定义jdbc登录认证。3. 探讨现在来探讨下方式一和方式二的区别,究竟是如何出现本次的现象的。

2020-06-07 13:17:00 2523 1

原创 bookstrap使用多个模态框,发现有的正常,有的只显示遮罩层

浏览博客链接:https://blog.csdn.net/lzx159951/article/details/78517338https://blog.csdn.net/xcc_2269861428/article/details/84578938注意:触发model的方式有三种是a标签是button标签是js种的函数触发$(’#identifier’).modal(options)导致我出现这个BUG的原因就是modal里的<div></div>不匹配。

2020-06-01 22:17:55 251

原创 使用thymeleaf导入自己的样式不起效

情景一在使用bookstrap的时候,难免要引入自定义的样式,要注意的是:要把自己的css引入放到bootstrap后面!!!如下:情景二在使用thymeleaf过程中,想要通过片段的方式组装后台管理页面,然后在这个需求下,用到了bootstrap.min.css,但同时也要用自定义的header.css,结果发现自定义的header.css样式老是不起作用。问题的原因:静态资源目录如下:想要在index.html页面中引用header.heml片段,那注意了要在index.html页面引

2020-05-30 15:58:12 1459

原创 idea中使用Autowired注入时报红,但是运行不报错

方案一:File – Settings – Inspections。在Spring Core – Autowring for Bean Class 中,将Severity的级别由之前的error改成warning。方案二:在dao层虽然加了@Mapper注解,但再补上@Repository,立马看到@Autowired自动注入的属性没有报告。疑问:方案二为什么可以解决该报错问题呢?...

2020-05-30 12:40:13 2457 3

原创 Mybatis使用注解时,留意注解中SQL字符串的拼写

springboot整合mybatis时,报错提示:Failed to load ApplicationContext......Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'commentMapper' defined in file [D:\code\springbootCode\chapter03\target\classes\com\nand

2020-05-28 09:38:48 703

原创 mysql的单引号,反引号,双引号

没错,用mysql创建一个基础表,花了一个小时。请留意这个单引号,该单引号不是中文 ‘ ’ ,也不是英文的 ’ ’其实这个不是单引号,而是反引号 (`) 这个符号(英文输入法下,数字键 1 左侧的那个按键)mysql中的 表名 和字段名使用的是反引号,解决名称冲突的comment后面的解释语句用的是英文的单引号创建数据库的语句CREATE TABLE `t_article`( `id` INT(20) NOT NULL AUTO_INCREMENT COMMENT `文章id`, `.

2020-05-28 00:42:09 1849

原创 mybatis多表查询的配置-以一对一关联关系为例

一对一关联映射的嵌套查询一对一关联映射的嵌套结果

2020-05-15 15:56:52 104

原创 QyOZdLyXIa

QyOZdLyXIa搬家到牛客博客

2020-04-28 11:56:42 101

原创 getBean的两种类型

Spring获取容器中bean对象的两种方式Object getBean(String name);根据同期中Bean的id或name来获取指定的Bean,获取之后需要强制类型转换。 T getBean(Class requiredType);根据类的类型类获取Bean的实例。由于此方法为泛型方法,因此在获取Bean之后不需要进行强制类型转换。bean.xml<?xml ve...

2020-04-26 15:37:52 1130

原创 IDEA中的maven工程老是加载不到类路径下的配置文件

错误提示:class path resource [src/bean.xml] cannot be opened because it does not exist;情景:使用maven构建spring项目,在pom中写好了依赖的坐标,创建UserDao接口和UserDaoImp实现类,通过ClassPathXmlApplicationContext创建核心容器,指定配置参数bean.xml...

2020-04-25 22:56:19 997

原创 微信小程序请求接口总是走fail回调函数(坑)

场景:前提,用uniapp开发微信小程序,开发工具里已勾选了“选择不校验https”。出现的情景如下,在接口请求相关参数没问题的基础下,微信开发者工具运行的小程序可以正常请求接口。然而,上传了体验版小程序,在真机下发现小程序的功能不正常,有时候不小心“打开调试”,发现功能正常,可以请求到数据,然而再次上传代码,重新打开小程序,此时真机环境下,默认是没有打开调试的,神奇地接口的数据请求到了。分析...

2020-04-10 20:03:32 4036

原创 动态代理-通俗易懂篇

前言:编故事理解动态代理很小的时候,小明(调用者)要去找小红同学(真实对象),但小明不能直接找到小红同学,要通过小红的家人(代理对象)才能联系到她。怎么理解这个动态呢?有一天,小明要去见小红,小明来到小红家门口,出来开门的可能是小红的爸爸或妈妈,甚至可能碰到小红的爷爷奶奶(这个代理对象是动态的)。 比如,出来给小明开门的是小红的爸爸,小红爸爸要首先确认小明的身份,才能同意小明上楼找小红。那么...

2020-04-09 12:33:44 350

转载 对HashMap是无序,而linkHashMap是有序的理解

由于map集合时无序的,我们接触到最多的集合中只有List集合时有序的.通过查了查,发现有一种map(LinkedHashMap)集合时有序的,可以做到按照用户放入集合的顺序取出集合中的元素.LinkedHashMap介绍:简单的介绍一下。通过LinkedHashMap这个名字可以看出来这是个 链表和哈希表的结合,链表是有顺序的,哈希表通常说是散列表,通过计算键的哈希值,用这个哈希值映射到表结...

2020-04-08 12:40:43 1199

原创 maven中pluins报红,相关依赖爆红

可能存在的问题及处理方式:1.IDEA的Setting中是否配置好Maven的根目录,是否指定Maven的conf目录下的settings.xml配置。2.在IDEA工程目录下的pom.xml文件,右键Maven->reimport,是否有效。3.mavenProject中,手动走一遍maven的生命周期,其中的install是将包安装至本地仓库,以让其它项目依赖。4.新建本地仓库,...

2020-03-27 01:06:32 419

原创 学习笔记《建造者模式(上)》

盖房子项目需求需要建房子:这一过程为打桩、砌墙、封顶房子有各种各样的,比如普通房,高楼,别墅,各种房子的过程虽然一样,但是要求不相同的。请编写程序,完成需求。传统方式解决盖房需求思路分析代码演示步骤1:抽象出建房子类步骤2:继承抽象类且实现抽象的方法步骤3:创建客户端代码步骤4:执行程序,结果如图:小结:房子建好了,那问题出现在哪呢?传统方式解...

2020-03-22 11:52:56 114

原创 学习笔记《代理模式——动态代理》

动态代理前言:接着上一篇《代理模式——静态代理》动态代理结构类图,如下主要过程代理对象通过Proxy代理,实现InvocationHandler接口,这个接口可以任何类的任何类对象的方法,然后再去找到真是对象,执行里面的方法。InvocationHandler接口(事务处理器)中仅定义了一个方法public object invoke(Object obj,Method ...

2020-03-22 00:36:46 198

原创 学习笔记《代理模式——静态代理》

代理模式1.定义:给某一个对象提供一个代理,并由代理对象控制对原有对象的引用。代理模式的英文叫做Proxy或Surrogate,它是一种对象结构型模式。2.动机:通过引入一个新的对象来实现对真实对象的操作或者将新的对象作为真实对象的一个替身,这种实现机制即为代理模式,通过引入代理对象来间接访问一个对象,这就是代理模式的模式动机。3.例子:场景:用户在手机端预览的图片,其实都是本地的缩略图...

2020-03-21 19:28:57 166

原创 IDEA修改项目名称出现中括号

疑问1:修改项目名称,却出现中括号分析:day09是我想修改后的名字。现在中括号里的day08是model的名字,而day09是文件的名字,要去掉中括号就必须使model名和文件名一致,所以这里修改model为day09。解决方式1:右键该项目->Refactor->Rename->Rename ModelTep1Tep2Tep3结果:解决...

2020-03-04 12:51:17 13628 6

原创 Charles抓取手机上http/https请求的包

提示:Android7以后,Android系统不再信任用户级的证书,只信任系统级的证书,所以要抓https包就需要把代理程序(Charles)的证书安装至Android的系统目录(/system/etc/security/cacerts)中。思路:手机与电脑连接在同个局域网中,通过Charles的代理进行请求外部的接口。参考博客:https://blog.csdn.net/liqing...

2020-02-16 11:30:19 513

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除