最新要闻

广告

手机

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

家电

spring框架_@AutoWiredAnnotationBeanPostProcessor执行分析 今日聚焦

来源:博客园


(资料图片)

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

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

按类型查找的流程

  1. 首先通过反射拿到被注解标注的字段或者方法
  2. 再将这个字段,或者方法中的参数添加到DependencyDescriptor中
  3. 通过beanFactory的doResolveDependency方法找到和这个属性具有相同类型的bean
  4. 最后通过反射的set方法把属性赋值

关键词: