> 文章列表 > spring中@Autowired注解的工作原理

spring中@Autowired注解的工作原理

spring中@Autowired注解的工作原理

@Autowired注解,帮助我们根据类型匹配去自动注入。

注入方式分为以下几种:

1.构造方法注入

2.setter方法注入

3.字段注入

4.类型数组/集合对象的字段或方法注入

一.@Autowired自动装配原理分析

主要分析AutowiredAnotationBeanPostProcessor类,

AutowiredAnotationBeanPostProcessor间接实现了InstantialtionAwareBeanPostProcessor和MergedBeanDefinitionPostProcessor两个BeanPostProcessor后置处理器接口。

1.MergedBeanDefinitionPostProcessor:

合并bean的定义信息

2.InstantialtionAwareBeanPostProcessor:在bean实例化前后和bean设置属性时执行后置处理器。

重点关注AutowiredAnotationBeanPostProcessor的postProcessMergedBeanDeginition()方法和

AutowiredAnotationBeanPostProcessor的postProcessProties()方法。

二.AutowiredAnnotationBeanPostProcessor#postProcessMergedBeanDeginition()

AutowiredAnnotationBeanPostProcessor后置处理器主要负责了对添加@Autowired和@Value注解的元素实现自动装配。找出需要装配的元素是在postProcessMergedBeanDeginition()中实现的

总结:是在AutowiredAnotationBeanPostProcessor后置处理器中实现的,主要分为两个步骤,找出和注入。

找出是postProcessMergedBeanDeginition()方法方法里实现的

注入是postProcessProties()方法里实现的