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()方法里实现的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值