spring的加载过程(web) (4)--invokeBeanFactoryPostProcess.
此方法主要是指在beanFactory标准初始化之后检查配置文件中实现了BeanFactoryPostProcessor接口的bean进行调用处理applicationContext中的BeanFactory.
Invoke factory processors registered as beans in the context
调用作为bean在context注册的factory processors。
Instantiate and invoke all registered BeanFactoryPostProcessor beans, respecting explicit order if given. Must be called before singleton instantiation.
遵守给定的明确的顺序实例化和调用所有已经注册了BeanFactoryPostProcessor的bean. 必须在单例实例化之前。
1)Invoke factory processors registered with the context instance.
调用被注册到context的factory processors.
实际调用factory processors的postProcessBeanFactory 方法处理。(方法定义:修改applicationContex的内部的BeanFactory在他标准的初始化之后。所有的bean定义将被加载,但是没有bean被实例化。允许复写或者添加属性,甚至初始化bean.);
2)getBeanNamesForType(DefaultListableBeanFactory实现)返回匹配给定的子类的类型的bean,从bean的定义或者<code>getObjectType</code>的值判断在FactoryBeans的情况。不要在这里初始化FactoryBeans,我们必须把所有的factory processors提供给没有初始化的bean.
//=======================================================================
DefaultListableBeanFactory ==>getBeanNamesForType
1)Check all bean definitions 检查所有bean定义。
2) Check singletons too, to catch manually registered singletons. 检查手动注册的单例。