DefaultListableBeanFactory

今天在看Springboot源码的时候,调试发现AnnotationConfigServletWebServerApplicationContext 中 DefaultListableBeanFactory,一直对BeanFactory 存在好骑,百度发现,BeanFactory 接口的实现类DefaultListableBeanFactory贯穿了IOC容器的使用,因此决定研究研究这个BeanFactory 。

类关系图如下:

在这里插入图片描述
一个个分析:
DefaultListableBeanFactory的创建:
构造方法中直接调用了父类的构造方法,直接看父类:
这里一直追溯了所有DefaultListableBeanFactory创建的时候,构造函数中执行的方法,只有目前下边这三句有效的,可以看见,这里只是添加了一些需要忽略的依赖和自动装配时的检查,到此,DefaultListableBeanFactory的创建就梳理完了

public AbstractAutowireCapableBeanFactory() {
		super();
		ignoreDependencyInterface(BeanNameAware.class);
		ignoreDependencyInterface(BeanFactoryAware.class);
		ignoreDependencyInterface(BeanClassLoaderAware.class);
	}

其实在创建的过程中,可理解为,是一个基础的BeanFactory ,同时添加了一些基本的依赖项

但是这里罗列下,这个BeanFactory 的一些特点和功能:

既然谈及功能,直接分析实现的接口是最直接的:
实现接口:
。。。。

好吧 这些接口也太多了吧,感觉分析不过来了。

总之, 在springBoot的容器中,使用的BeanFactory 就是 DefaultListableBeanFactory 这个对象的实例。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值