假如我们要扩展Spring IoC容器,比如对某些bean后续处理,通常来说,我们并不需要去继承ApplicationContext ,取而代之的是 我们依赖于Spring本身所提供的扩展点来扩展Bean的功能。
1.通过实现BeanPostProcessor接口,来扩展bean
public interface BeanPostProcessor {
Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException;
Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException;
}
该接口定义了两个方法,postProcessBeforeInitialization和postProcessAfterInitialization两个方法
before 和after 初始化 提供了两个切入点 ,让我有机会对bean进行深层次的扩展。
这两个方法的两个参数 第一个 传入的是 会在容器内初始的bean, 第二个参数是bean的名字
那么如何使用该接口呢?很简单,
我们先自己写一个简单的实现Processor 让他继承 BeanPostProcessor
public class BeanProcesser implements BeanPostProcessor{
public Object postProcessAfterInitialization(Object arg0, Str