- 博客(6)
- 收藏
- 关注

原创 @Configuration的作用
一、问题描述在我们的项目当中,通常都会配置一个或者多个加了@Configuration注解的配置类,那么@Configuration这个注解到底有神马作用勒?@ComponentScan("com")public class AppConfig { @Bean public TestDao testDao() { return new TestDao(); }}public ...
2019-09-04 01:03:57
44594
10
原创 ReentrantLock的实现原理
一、ReentrantLockReentrantLock可重入锁,这里我们主要分析它的加锁与解锁过程。在分析之前,先介绍几个对象。Sync继承了AbstractQueuedSynchronizer(以下称AQS队列),在AQS队列中,有以下属性:head:队头tail:队尾state:锁的状态,默认0exclusiveOwnerThread:持有锁的线程(在AbstractQueue...
2019-09-11 01:32:24
1013
原创 mybatis的一级缓存为什么在spring中会失效
一、问题描述mybatis的一级缓存是基于session来的,当单独使用mybatis的时候,一级缓存是起作用的,在一个session中查询2遍同样的sql,只会打印一次sql语句。但当mybatis与spring搭配使用后,mybatis的一级缓存就会失效,会打印2次sql。@Servicepublic class TestService { @Autowired Tes...
2019-09-04 22:43:04
1720
原创 简单模拟mybatis的MapperScan
一、问题描述在mybatis中,mapper通常是一个接口,但是我们却可以直接通过这个接口调用方法。按道理来说接口是不能直接调用方法的,只有实现类才能调用接口。但在下面的代码中,我们直接调用applicationContext.getBean(TestMapper.class).list(""),就可以查询我们的数据库。也就是说applicationContext.getBean(TestMa...
2019-09-04 12:58:01
2152
1
原创 spring的几种注入方式
在spring中,依赖注入的方式有很多种,我个人认为在spring中注入方式有3中,分别是通过属性filed注入、构造方法注入、set方法注入。接下来通过代码具体分析一下。1、属性filed@Autowired加在属性上,采用的是filed反射注入。@Componentpublic class StayService { @Autowired private StayDao stayD...
2019-08-26 00:30:47
681
原创 谈谈spring中的循环依赖
spring是如何解决循环依赖的,下面我将通过查看Spring源码,谈谈我自己的看法。(以下的分析基于spring5.0版本源码,可以自行编译spring源码。)一、问题描述@Componentpublic class IndexDao {@Autowiredprivate IndexService indexService; //在indexDao中引用了indexService}...
2019-08-18 18:11:41
166
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人