spring核心第6 章:BeanPostProcessor

作用

bean的后置处理器。在bean初始化过程中,在各个阶段允许对bean进行定制计划处理。

子接口

本文章主要说明BeanPostProcessor几个重要的子接口,以及他们在何时调用,同时简单说明他们他们的作用。

BeanPostProcessor

顶级接口,在bean完成init前后分别调用其:postProcessBeforeInitialization 和 postProcessAfterInitialization

MergedBeanDefinitionPostProcessor

当创建的对象是MergedBeanDefinition是,会在new出对象后执行postProcessMergedBeanDefinition

InstantiationAwareBeanPostProcessor

在new出对象前执行InstantiationAwareBeanPostProcessor ,允许对象直接返回代理

在new出对象后执行postProcessAfterInstantiation, 判断是否需要注入属性

同时通过postProcessProperties 注入属性。我们平常使用的@Autowired和@Value就是在这一步注入的

SmartInstantiationAwareBeanPostProcessor

当new对象时,通过determineCandidateConstructors方法确定构造函数。我们可以通过@Autowired注解来确定。

当对象还没有被初始化完成时,但被其他bean依赖需要提取获取时,可以通过getEarlyBeanReference提前获取代理。这一步在aop中可以体现ßß

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值