随笔分类 - 源码
摘要:spring的拓展点之-InitializingBean 一:有什么用 InitializingBean是spring提供的一个初始我们bean熟悉的方法,我们可以直接看看源码注释。 我们看这个接口上的注释大概意思就是: 当我们需要初始化我们bean中的一些参数,或者校验一些参数的时候的时候就可以通
阅读全文
摘要:Springboot启动tomcat原理 一:思考 记得以前SSM项目时候,需要把项目打包到tomcat的webApps目录下。然后启动tomcat。 现在springboot项目直接打包成jar宝就可以启动tomcat了。Springboot为了实现这个功能做了那些操作,和设计呢? 二:源码探
阅读全文
摘要:从源码看公平锁和非公平锁得区别 一:理论解释 公平锁:ReentrantLock通过构造器参数设置为true就是公平锁。 非公平锁:synchronized 关键字,ReentrantLock默认就是非公平锁。 公平锁:多个线程按照申请锁的顺序去获得锁,线程会直接进入队列去排队,永远都是队列的第一位
阅读全文
摘要:【spring源码解读】spring加载流程refresh之prepareBeanFactory(beanFactory) 一:介绍prepareBeanFactory spring启动的核心流程都是在org.springframework.context.support.AbstractAppli
阅读全文
摘要:Synchronized关键字原理,和锁的膨胀过程 一:Synchronized关键字介绍 synchronized是Java中的关键字,用于线程的同步。可以用在三个地方。 1:同步实例方法,锁是当前实例对象; 2:同步类方法,锁是当前类对象; 3:同步代码块,锁是括号里面的对象; 二:
阅读全文
摘要:BeanPostProcessor 接口解读 一:什么时候执行 BeanPostProcessor是Spring IOC容器给我们提供的一个扩展接口。 public interface BeanPostProcessor { //bean初始化方法调用前被调用 Object postProcessB
阅读全文
摘要:图解Spring的循环依赖 前言 Spring的循环依赖是spring架构设计中比较精彩的一环,学习Spring的循环依赖设计,对我们进行业务架构设计还是很有裨益的。 这里通过debug介绍一下,spring如何通过三级缓存来实现循环依赖的。 spring的三级缓存 spring通过三级缓存来实现循
阅读全文
摘要:AQS源码详细解读 什么是AQAS AQS:AbstractQueuedSynchronizer ,它是一个抽象的同步队列器,这个类位于java.util.concurrent.locks包下面,是用来构建锁或者其它同步器组件的重量级基础框架及整个JUC体系的基石,通过内置的FIFO队列来完成资源获
阅读全文
摘要:springboot整合Mybatis为什么可以省略mybatis-config.xml 原来我们在使用mybatis的时候都是要配置mybatis-config.xml,但是用springboot整合Mybatis只要很简单的配置就可以了。 why 1:原来的mybatis-config.xm
阅读全文
摘要:mybatis-spring原理解析 没有spring使用Mybatis的步骤是 1:创建SqlSessionFactoryBuilder 2: 通过SqlSessionFactoryBuilder创建要给SqlSessionFactory 3: 创建SqlSession 4: 获取Mapper
阅读全文
摘要:Spring Boot配置FastJsonHttpMessageConverter报错'Content-Type' cannot contain wildcard type '*' 背景: 业务需求中属性名称和接口的名称不匹配,项目中用fastjosn的@JSONFiled注解自定义返回json
阅读全文
摘要:Mybatis的插件体系 Mybatis的插件体系是基于一个动态代理加要给责任链设计模式的运用。 Mybatis插件的源代码都在plugin目录下面。 /** * @author Clinton Begin */ // 拦截器 // Invocation:调用 // 这是插件接口,所有插件需要实
阅读全文
摘要:Mybatis的日志系统 首先说一下,在项目中需要打印Mybatis日志需要做那些配置 在项目中引入相应的日志体系,然后在mybatis-config.xml配置文件中配置日志体系 <setting name="logImpl" value="LOG4J" /> Mybatis定义要给log接口
阅读全文
摘要:Mybatis源码解析-Configuration 关于Mybatis的配置信息,都是解析在Configuration对象中,找个对象在Mybatis中核心的一个类 下面一段就是使用mybati的代码 // 获取构建器 SqlSessionFactoryBuilder factoryBuilde
阅读全文