Autowired注解

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;

          }

    }

}

 

posted @ 2019-12-11 16:49  java.matt  阅读(792)  评论(0编辑  收藏  举报