版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
容器后处理器: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的管理。