Spring学习记录—容器后处理器和Bean后处理器

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/u013632755/article/details/72716326

容器后处理器:spring容器初始化之后的增强处理。
Bean后处理器:spring初始化Bean时的前后增强处理。


容器后处理器

@Component
public class MyBeanFactoryPostProcessor implements BeanFactoryPostProcessor {
    @Override
    public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException {
        System.out.println("进入BeanFactory后处理器...");
    }
}

直接实现BeanFactoryPostProcessor接口,在spring容器启动之后会查找实现了BeanFactoryPostProcessor接口的bean,并实例化调用postProcessBeanFactory()方法。注意容器后处理器打了@Component注解加入spring管理。

Bean后处理器

@Component
public class MyBeanPostProcessor implements BeanPostProcessor{

    @Override
    public Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException {
        System.out.println("初始化"+beanName+"之前进行增加处理...");
        return bean;
    }

    @Override
    public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException {
        System.out.println("初始化"+beanName+"之后进行增加处理...");
        return bean;
    }

}

实现BeanPostProcessor接口,在容器创建了bean对象实例之后,调用bean的初始化方法之前会调用Bean后处理器的postProcessBeforeInitialization()方法,调用bean的初始化方法之后会调用postProcessAfterInitialization()方法。同样Bean后处理器也需要打@Component注解加入到spring的管理。

猜你喜欢

转载自blog.csdn.net/u013632755/article/details/72716326