1.bfpp
实例化ConfigurationClassPostProcessor(完成对诸多注解的扫描工作,如@component、@Import、@ComponentScan、@Configuration等)
ConfigurationClassPostProcessor implements BeanDefinitionRegistryPostProcessor
public interface BeanDefinitionRegistryPostProcessor extends BeanFactoryPostProcessor
2. bpp
CommonAnnotationBeanPostProcessor extends InitDestroyAnnotationBeanPostProcessor
public class InitDestroyAnnotationBeanPostProcessor
implements DestructionAwareBeanPostProcessor, MergedBeanDefinitionPostProcessor
public interface DestructionAwareBeanPostProcessor extends BeanPostProcessor
========applyMergedBeanDefinitionPostProcessors(mbd, beanType, beanName);的方法完成对@Autowired、@Value、@Resouce的扫描工作
在AbstractAutowireCapableBeanFactory的populateBean(...)方法,
for (BeanPostProcessor bp : getBeanPostProcessors()){
.....
ibp.postProcessProperties(pvs, bw.getWrappedInstance()
....
}
完成注入