BeanPostProcessor接口作用
如果我们需要在Spring容器完成Bean的实例化、配置和其他的初始化前后添加一些自己的逻辑处理,我们就可以定义一个或者多个BeanPostProcessor接口的实现,然后注册到容器中。
源码
BeanPostProcessor中有两个方法,postProcessBeforeInitialization在Bean的初始化前提供回调入口,另一个是postProcessAfterInitialization,在Bean的初始化之后提供回调入口。
|
|
如果你想知道这些方法在哪里被调用的,那就必须了解IoC的依赖注入过程
|
|
我们可以从源码中知道,这两个方法是在doCreateBean()中被调用
|
|
初始化过程也是IoC容器完成依赖注入的一个重要部分
|
|
通过以代码 我们可以知道,每个bean初始化的过程都会调用BeanPostProcesser中的两个方法,经过相应的处理,返回的bean是IoC容器管理,可以正常使用的Bean对象。
注意的是:我们实现BeanPostProcessor接口之后,要在XML配置文件中配置这个具体的实现类,也就是1<bean class="xx.xxx.XXBeanPostProcessor"/>