Spring Boot-5-DefaultListableBeanFactory

本文深入探讨Spring IoC容器的核心组件DefaultListableBeanFactory,解析其在Spring Boot启动过程中的角色,以及如何被ApplicationContext类加载并管理Bean的生命周期。

Spring IoC作用是管理Bean的生命周期并提供用户使用bean,所以我们有必要来看看Spring如何管理这些Bean的,前面我们提到IoC基本功能由BeanFactory系列类型实现,BeanFactory系列中就是DefaultListableBeanFactory这个类型完成的BeanFactory的基本功能。先来看下继承体系:

Spring Boot在启动时,从大体流程上,我们应该可以预料到,肯定是ApplicationContext先被构造,然后才是BeanFactory被构造,因为是ApplicationContext聚合了BeanFactory。在ApplicationContext初始化的时候,往BeanFactory中装载bean。这是我们猜测的流程。

二、DefaultListableBeanFactory被谁持有

直接给出结论,是这2个ApplicationContext的子类
org.springframework.context.support.AbstractRefreshableApplicationContext
org.springframework.context.support.GenericApplicationContext
application context会在初始化的时候,往bean factory中装载所有bean。

三、DefaultListableBeanFactory

org.springframework.beans.factory.support.DefaultListableBeanFactory

它在support包下面,listable的意思是能够枚举出BeanFactory中所有实例的相关信息。这是个基本且重要的能力,几乎是容器的主要能力,所以,DefaultListableBeanFactory是BeanFactory的主要能力实现者。在ApplicationContext的refresh方法中,应该会往这里存入所有实例。

public class DefaultListableBeanFactory extends AbstractAutowireCapableBeanFactory
		implements ConfigurableListableBeanFactory, BeanDefinitionRegistry, Serializable {



}

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值