Spring中BeanPostProcessor 执行过程

1.刷新容器

2.在refresh()方法中 执行

// Instantiate all remaining (non-lazy-init) singletons.
// 初始化剩下的非延迟加载(non-lazy-init)单例beans
finishBeanFactoryInitialization(beanFactory);

3.在finishBeanFactoryInitialization()方法中

上面的方法不是关注的重点------------------------


Spring中BeanPostProcessor 执行过程_第1张图片

populateBean方法是对Bean的属性进行赋值,之后执行initializeBean方法。

initializeBean()方法中  关注   1  applyBeanPostProcessorBeforeInitialization()

                                                        2   invokeInitMehods()

                                                        3   applyBeanPostProcessorAfterInitialization()

Spring中BeanPostProcessor 执行过程_第2张图片

紧接着后面

applyBeanPostProcessorBeforeInitialization()方法是执行所有后置处理器before方法

Spring中BeanPostProcessor 执行过程_第3张图片

invokeInitMehods方法是执行Bean的初试化方法

applyBeanPostProcessorAfterInitialization()方法是执行所有后置处理器的after方法

 

你可能感兴趣的:(Spring)