第5篇我们讲了invokeBeanFactoryPostProcessors()方法,我们接着spring容器加载refresh()核心方法往下走,今天来看registerBeanPostProcessor()方法

1.refresh()中的registerBeanPostProcessor()方法

7.spring源码之对实现了BeanPostProcessor接口的类实例化-registerBeanPostProcessors()_spring

2.进入registerBeanPostProcessors()方法

7.spring源码之对实现了BeanPostProcessor接口的类实例化-registerBeanPostProcessors()_IT_02

3.进入PostProcessorRegistrationDelegate类的registerBeanPostProcessors()方法

7.spring源码之对实现了BeanPostProcessor接口的类实例化-registerBeanPostProcessors()_实例化_03

7.spring源码之对实现了BeanPostProcessor接口的类实例化-registerBeanPostProcessors()_IT_04

7.spring源码之对实现了BeanPostProcessor接口的类实例化-registerBeanPostProcessors()_spring源码_05

7.spring源码之对实现了BeanPostProcessor接口的类实例化-registerBeanPostProcessors()_加载_06

registerBeanPostPorcessor()方法主要是把实现了BeanPostProcessor接口的类进行实例化并注册到BeanFactory中(AutowiredAnnotationBeanPostProcessor、CommonAnnotationBeanPostProcessor这两类),这两个类是什么时候生成BeanDefinition的?请回顾spring源码讲解的第4篇。