org.springframework.beans.factory.annotation.Autowired
AutowiredAnnotationBeanPostProcessor extends InstantiationAwareBeanPostProcessorAdapter
public AutowiredAnnotationBeanPostProcessor() {
this.autowiredAnnotationTypes.add(Autowired.class);
this.autowiredAnnotationTypes.add(Value.class);
this.autowiredAnnotationTypes.add((Class<? extends Annotation>) ClassUtils.forName("javax.inject.Inject", AutowiredAnnotationBeanPostProcessor.class.getClassLoader()));
}
private InjectionMetadata buildAutowiringMetadata(final Class<?> clazz)
AbstractAutowireCapableBeanFactory
populateBean()方法
for (BeanPostProcessor pd : getBeanPostProcessors()) {
if (pd instanceof InstantiationAwareBeanPostProcessor) {
InstantiatiationAwareBeanPostProcessor ibp = (InstantiationAwareBeanPostProcessor) bp;
pvs = ipb.postProcessPropertyValues(pvs, filteredPds, bw.etWrappedInstance(), beanName);
if (pvs == null) {
return;
}
}
}