spring框架_@AutoWiredAnnotationBeanPostProcessor执行分析

AutoWiredAnnotationBeanPostProcessor 执行依赖注入的时候(解析@Autowired)调用了postProcessProperties 方法

image

这个方法首先要找到哪些属性,方法被标注了@Autowired注解,把这些数据添加到 InjectMetadata中,然后调用metadata.inject方法按类型进行依赖注入,注入时按类型进行查找

按类型查找的流程

image

  1. 首先通过反射拿到被注解标注的字段或者方法
  2. 再将这个字段,或者方法中的参数添加到DependencyDescriptor中
  3. 通过beanFactory的doResolveDependency方法找到和这个属性具有相同类型的bean
  4. 最后通过反射的set方法把属性赋值
posted @ 2023-05-13 14:50  音风水  阅读(67)  评论(0编辑  收藏  举报