当前位置:   article > 正文

spring源码解析之注解配置后处理器对@Configuration、@Autowired、@Value、@Inject、@PreDestroy、@PostConstruct等注解的处理_@configuration @postconstruct

@configuration @postconstruct

1.简介

spring框架在从配置类中读取bean定义时,会对一些注解进行处理

比如遇到@Configuration注解,需要读取配置类中@Bean注解的方法,定义为Bean,

遇到@Autowired注解,需要自动装配依赖。

这些都是通过BeanDefinitionRegistryPostProcessor、BeanPostProcessor等后处理器来实现的

1.1 AnnotatedBeanDefinitionReader

AnnotatedBeanDefinitionReader用来直接加载配置类,其构造函数中有:

  1. public AnnotatedBeanDefinitionReader(BeanDefinitionRegistry registry, Environment environment) {
  2. Assert.notNull(registry, "BeanDefinitionRegistry must not be null");
  3. Assert.notNull(environment, "Environment must not be null");
  4. this.registry = registry;
  5. /* 条件评估 */
  6. this.conditionEvaluator = new ConditionEvaluator(registry, environment, null);
  7. /* 为bean工厂添加注解配置后处理器,处理Configuration等注解 */
  8. AnnotationConfigUtils.registerAnnotationConfigProcessors(this.registry);
  9. }

其中,AnnotationConfig

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/66938
推荐阅读
相关标签
  

闽ICP备14008679号