自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

qiuz1024的博客

学海无涯

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

原创 @Configuration的作用

一、问题描述在我们的项目当中,通常都会配置一个或者多个加了@Configuration注解的配置类,那么@Configuration这个注解到底有神马作用勒?@ComponentScan("com")public class AppConfig { @Bean public TestDao testDao() { return new TestDao(); }}public ...

2019-09-04 01:03:57 44209 10

原创 ReentrantLock的实现原理

一、ReentrantLockReentrantLock可重入锁,这里我们主要分析它的加锁与解锁过程。在分析之前,先介绍几个对象。Sync继承了AbstractQueuedSynchronizer(以下称AQS队列),在AQS队列中,有以下属性:head:队头tail:队尾state:锁的状态,默认0exclusiveOwnerThread:持有锁的线程(在AbstractQueue...

2019-09-11 01:32:24 985

原创 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 1679

原创 简单模拟mybatis的MapperScan

一、问题描述在mybatis中,mapper通常是一个接口,但是我们却可以直接通过这个接口调用方法。按道理来说接口是不能直接调用方法的,只有实现类才能调用接口。但在下面的代码中,我们直接调用applicationContext.getBean(TestMapper.class).list(""),就可以查询我们的数据库。也就是说applicationContext.getBean(TestMa...

2019-09-04 12:58:01 2119 1

原创 spring的几种注入方式

在spring中,依赖注入的方式有很多种,我个人认为在spring中注入方式有3中,分别是通过属性filed注入、构造方法注入、set方法注入。接下来通过代码具体分析一下。1、属性filed@Autowired加在属性上,采用的是filed反射注入。@Componentpublic class StayService { @Autowired private StayDao stayD...

2019-08-26 00:30:47 627

原创 谈谈spring中的循环依赖

spring是如何解决循环依赖的,下面我将通过查看Spring源码,谈谈我自己的看法。(以下的分析基于spring5.0版本源码,可以自行编译spring源码。)一、问题描述@Componentpublic class IndexDao {@Autowiredprivate IndexService indexService; //在indexDao中引用了indexService}...

2019-08-18 18:11:41 150

空空如也

空空如也

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

TA关注的人

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