Ioc容器refresh总结(2)--- Spring源码从入门到精通(三十二)

2022-07-26 11:47:35 浏览数 (1)

上篇文章介绍了refresh里beanFactory的创建预准备工作,refresh获取到的beanFactory是先刷新创建,在getBeanFactory获取到的,之后再给他配置忽略自动装配的依赖接口,和配置自动装配的组件。

Ioc容器refresh总结(1)--- Spring源码从入门到精通(三十一)

这篇文章主要介绍beanFactory后置处理器如何调用beanFactory:

五、invokeBeanFactoryPostProcessor

BeanFactoryPostProcessor,在beanFactory预准备标准初始化之后执行的,beanFactory的后置处理器。

BeanDefinitionRegistryPostProcessor。

先执行BeanDefinitionRegistryPostProcessor方法。A、先获取所有的beanDefinitionRegistryPostProcessor。B、按接口优先级排序,先执行实现了PriorityOrdered.class的beanDefinitionRegistryPostProcessor,执行postProcessBeanDefinitionRegistry。C、再执行实现了Ordered.class的beanDefinitionRegistryPostProcessor。D、最后一步,执行没有实现任何接口的beanDefinitionRegistryPostProcessor。

在执行beanFactoryPostProcessor方法。A、先获取所有的beanFactoryPostProcessor。B、按接口优先级排序,先执行实现了PriorityOrdered.class的beanFactoryPostProcessor,执行postProcessBeanFactory。C、再执行实现了Ordered.class的beanFactoryPostProcessor。D、最后一步,执行没有实现任何接口的beanFactoryPostProcessor。

这里是用beanFactoryPostProcessor后置处理器调用对象工厂。

0 人点赞