摘要:SPI机制是如何规避双亲委派机制的?
阅读全文
随笔分类 - Java
摘要:注:版本为2.5.7 首先看代码: @SpringBootApplication public class MyWebApplicationTest { private static final Log logger = LogFactory.getLog(MyWebApplicationTest.
阅读全文
摘要:本篇意为说明Spring默认日志实现与SpringBoot默认日志实现。 1、日志 在这之前,我们应该先了解一些日志框架。 具体可以看我这篇随笔:https://www.cnblogs.com/daihang2366/p/15201347.html 你得了解JCL、SLF4J、JUL、LogBack
阅读全文
摘要:1、概述 此处使用Redis的setNx命令和expire命令和del命令来实现分布式锁。 首先我们要知道, 我们的redis执行命令是队列方式的,并不存在多个命令同时运行,所有命令都是串行的访问。那么这就说明我们多个客户端连接Redis的时候不存在其并发的问题。 其实实现分布式锁并不仅仅可以使用R
阅读全文
摘要:1、现象概述 这个现象其实大部分都知道,循环依赖也是网上比较流传Spring的一个问题。 比如现在有一个类为Class1,然后其有一个属性为Class2,然后Class2这个类里有一个属性为Class1。当这两个类都是单例的时候,就存在循环依赖的问题了。 那么这种情况在Spring管理Bean的时候
阅读全文
摘要:SQL SELECT SUM(IF(1=1,1,0)) AS `result` FROM sys_user 这种会报错的。 错误信息 Caused by: net.sf.jsqlparser.JSQLParserException: null at net.sf.jsqlparser.parser.
阅读全文
摘要:概述 org.springframework.beans.factory.config.InstantiationAwareBeanPostProcessor 这个回调接口中有两个方法: @Nullable default Object postProcessBeforeInstantiation(
阅读全文
摘要:前提 你得知道Spring创建Bean的基本流程,我们这里解释的是Spring创建Bean时使用有参构造器去创建Bean的源码解析。 autowireConstructor方法 这个方法里面就是拿到类的构造器,然后选取到最合适的,然后进而通过构造器来进行初始化。 方法总览 没想到很好的表达方式,就把
阅读全文
摘要:注:本文仅解释其实例化过程,属性注入、循环依赖等下一篇解析。 首先我们查看示例的代码 Demo1.java: @Component("demo1") public class Demo1 { } Main.java: AnnotationConfigApplicationContext applic
阅读全文
摘要:1、概述 它最大的作用是什么? 在不更改源代码的情况下,对其原有功能进行增强。使得代码的重用率、开发效率、维护产生极大的方便。 运用场景 最常见的有:事务、日志、请求拦截等 2、使用 如何在Spring中使用AOP? 1、开启配置 @EnableAspectJAutoProxy 2、写代理类和被代理
阅读全文
摘要:小程序接口访问报错:Provisional headers are shownx 此时无响应,后台未接收到请求 可排查的原因如下: 1、检查是否配置你的域名地址到微信后台里面 2、Nginx设置ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3; 3、检测: 1、https:
阅读全文
摘要:1、BeanDefinition 是什么? 我们都知道Spring会将我们的类new出来以后存放到它自己的容器当中去,然后Spring还需要对我们的类进行其他很多功能的处理,那么Spring的流程是先将需要new的类的 信息都保存下来,然后统一的去new然后存放到容器当中.BeanDefinitio
阅读全文
摘要:1、现象 众所周知,Spring中配置类是用来代替配置文件的,在老一些的日子里面我们使用XML配置,而如今大多使用JavaBean的方式配置。 一个简单的配置类如下: @Configuration @ComponentScan("com.dh") public class AppConfig { @
阅读全文
摘要:1、@Import 在聊ImportSelector和ImportBeanDefinitioRegistar之前需要先知道@Import。 @Import是写在我们的配置类上的,如下: @Configuration @Import({XXX.class,XXX2.class}) public cla
阅读全文
摘要:ConfigurationClassPostProcessor 1、它是干什么作用的? 首先这个类处于的位置:org.springframework.context.annotation.ConfigurationClassPostProcessor 它是用来解析我们的配置类的,如果你类上面加入了@
阅读全文
摘要:谈谈Spring的ApplicationContextAware接口 现象: 我们写一个类,实现ApplicationContextAware接口,类上再加一个@Component后,运行项目,你会发现在我们实现的setApplicationContext会传进来Spring的Applicati
阅读全文
摘要:ps:以前经常会处理此类问题,但一直没有闲暇时间记录,今天就把这个东西记录一下。 此方法只是单机版的,分布式的需要考虑例如redis的setnx锁,这个后续会出随笔 1、提出问题 业务中不可避免出现重复提交的问题,场景大概如下: 用户请求开户,后端接口处于开户处理中,在这个过程中,用户再次请求开
阅读全文
摘要:我的场景是这样的: Feign远程调用GET方式的接口,传入请求体的时候,报错请求不能是POST的方式。 通过查阅资料发现,默认的HttpURLConnection遇见GET请求带请求体的时候,就会自动将其转为POST请求,所以这里出问题的不是Feign,是HttpURLConnection,我们有
阅读全文
摘要:单例模式 饿汉模式 public class Singleton { private static Singleton singleton = new Singleton(); private Singleton() { } public static Singleton getInstance()
阅读全文
摘要:出现这个问题的原因就是: 表明此线程不是此对象监视器的所有者。 比如你想调用notify()、wait()等线程中的方法,那么你需要用锁对象去调用,而不是用线程本身this或class去调用。 示例代码: static class ThreadTest extends Thread { public
阅读全文