简介
之前的InitializingBean、DisposableBean、FactoryBean包括init-method和destory-method,针对的都是某个Bean控制其初始化的操作,而似乎没有一种办法可以针对每个Bean的生成前后做一些逻辑操作,PostProcessor则帮助我们做到了这一点,先看一个简单的BeanPostProcessor。
网上有一张图画了Bean生命周期的过程,画得挺好
BeanPostProcessor接口
针对每个bean生成前后都会调用
1 |
|
这两个方法是有返回值的,不要返回null,否则getBean的时候拿不到对象。
自定义bean
1 | //普通bean |
配置
1 | <bean id="commonBean0" class="com.fuyi.test.beanpostprocessor.CommonBean" init-method="init"> |
测试
1 | public class BeanTest { |
结果
1 | postProcessBeforeInitialization, beanName = commonBean0 |