bean的生命周期图解,bean生命周期五个阶段

首页 > 经验 > 作者:YD1662022-11-01 13:58:45

doCreateBean方法逻辑

这个代码的实现还是在 AbstractAutowireCapableBeanFactory方法中。流程是

1、先检查 instanceWrapper变量是不是null,这里一般是null,除非当前正在创建的Bean在 factoryBeanInstanceCache中存在这个是保存还没创建完成的FactoryBean的集合。

2、调用createBeanInstance方法实例化Bean,这个方法在后面会讲解

3、如果当前 RootBeanDefinition对象还没有调用过实现了的 MergedBeanDefinitionPostProcessor接口的方法,则会进行调用 。

4、 当满足以下三点(1)是单例Bean(2)尝试解析bean之间的循环引用(3)bean目前正在创建中则会进一步检查是否实现了 SmartInstantiationAwareBeanPostProcessor接口如果实现了则调用是实现的 getEarlyBeanReference方法

5、 调用 populateBean方法进行属性填充,这里后面会讲解

6、 调用 initializeBean方法对Bean进行初始化,这里后面会讲解

2.1.1 实例化Bean,createBeanInstance

bean的生命周期图解,bean生命周期五个阶段(5)

实例化Bean

这里的逻辑稍微有一点复杂,这个流程图已经是简化过后的了。简要根据代码说明一下流程


bean的生命周期图解,bean生命周期五个阶段(6)


bean的生命周期图解,bean生命周期五个阶段(7)


bean的生命周期图解,bean生命周期五个阶段(8)

上一页12345下一页

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.