5.spring源码之BeanDefinitionRegistryPostProcessor接口的调用-invokeBeanFactoryPostProcessor()

前两篇文章讲了obtainFreshBeanFactory()方法,该方法主要是进行xml解析并封装成BeanDefinition,今天我们接着refresh()核心方法往下看invokeBeanFactoryPostProcessor()方法,该方法主要完成对实现了BeanDefinitionRegistryPostProcessor和BeanFactoryPostProcessor接口实现类的调用。BeanDefinitionRegistryPostProcessor接口继承自BeanFactoryPostProcessor接口。

1.refresh()方法如下:

2.进入invokeBeanFactoryPostProcessors()方法

3.进入PostProcessorRegistractionDelegate类的invokeBeanFactoryPostProcessors()方法








 

4.完成方法调用

 

 

 invokeBeanFactoryPostProcessor()方法主要就是完成对实现了BeanDefinitionRegistryPostProcessor和BeanFactoryPostProcessror接口的调用,首先从BeanFactory中获取相应类型的beanName数组,然后遍历数组,判断是否实两个现排序接口,然后进行实例化,加入容器中,然后排序,注册,进行方法调用。

 

posted @ 2021-08-01 15:21  福福猿  阅读(105)  评论(0)    收藏  举报