spring--BeanPostProcesstor


beanFactoryPostProcesstor和BeanPostProcessor是spring的钩子函数,是spring的bean初始化对外暴露的扩展点。
BeanPostProcessor是Spring IOC容器给我们提供的一个扩展接口。
spring--BeanPostProcesstor_第1张图片

如图,我们可以看到BeanPostProcessor提供了两个接口回调。当BeanPostProcessor的实现类注册到spring ioc容器中,对于改spring ioc容器所创建的每个bean实例在调用其初始化方法调用前将会调用BeanPostProcessor中的postProcessBeforeInitialization方法,而在bean实例初始化方法调用完成后,则会调用BeanPostProcessor中的postProcessAfterInitialization方法,整个调用顺序可以简单示意如下:

spring--BeanPostProcesstor_第2张图片

可以看到spring给我们一个给bean加工的机会,比如生成代理对象。还有底层的aop实现也是通过这个方式。

这里附一张spring在初始化bean的中对后置处理器的调用顺序。
spring--BeanPostProcesstor_第3张图片

你可能感兴趣的:(spring,后置处理器)