(bean的创建图)学习Spring的第十天(很重要)

(bean的创建图)学习Spring的第十天(很重要)_第1张图片

 

大致框架按如下 

 (bean的创建图)学习Spring的第十天(很重要)_第2张图片

第一次细分

bean对象还未创建 操作第一个map

引入BeanFactoryPostProcessor , 即Bean工厂后处理器 , 为Spring很重要的扩展点

BeanFactoryPostProcessor内部的方法 可以对BeaDefinition进行修改 , 也可进行BeanDefinition的注册  ( 原有在xml文件配置的bean , 进入到BeaDefinitionMap里 , 还可以人为的动态的添加代码

BeaDefinition ) 

 BeaDefinitionRegistryPostProcessor为BeanFactoryPostprocessor的子接口 , 可以很方便的注册BeanDefinition(bean的创建图)学习Spring的第十天(很重要)_第3张图片

第二次细分

Bean对象创建完 , 填充到singletonObjectsMap之前

可以对进入到map之前的object进行增强( 属性的修改 , )

BeanPostProcessor#befor方法

BeanPostProcessor#after方法

(bean的创建图)学习Spring的第十天(很重要)_第4张图片 

第三次细分 

再次细分出bean的生命周期

(bean的创建图)学习Spring的第十天(很重要)_第5张图片 左半边为bena的定义阶段 , 右边为bean的生命周期(实例化 --->  初始化 --->存储)

至此bean创建完成

你可能感兴趣的:(学习)