BeanPostProcessor 接口理解

BeanPostProcessor贯穿bean的生命周期始终,BeanPostProcessor 接口类型实例是针对某种特定功能的埋点,在这个点会根据接口类型 来过滤掉不关注这个点的其他类,只有真正关注的类才会在这个点进行相应的功能实现。

1、获取有@Autowired 注解的构造函数埋点
过滤的接口类型是:SmartInstantiationAwareBeanPostProcessor
调用的方法是:determineCandidateConstructors

寻找当前正在实例化的bean中有@Autowired注解的构造函数,如果ctors不为空就说明构造函数上有@Autowired

2、收集@Resource@Autowired@Value@PostConstruct,@PreDestroy 注解的方法和属性
埋点
过滤的接口类型是:MergedBeanDefinitionPostProcessor
调用的方法是:postProcessMergedBeanDefinition

3、循环依赖解决中bean 的提前暴露埋点
过滤的接口类型是:SmartInstantiationAwareBeanPostProcessor
调用的方法是:getEarlyBeanReference

5、IOC/DI 依赖注入埋点
过滤的接口类型是:InstantiationAwareBeanPostProcessor
调用的方法是:postProcessProperties

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值