我试图理解之间的差异BeanFactoryPostProcessor和BeanPostProcessor。
BeanFactoryPostProcessor
BeanPostProcessor
我知道可以BeanFactoryPostProcessor对bean进行定义,即在创建bean实例之前先执行它,然后BeanPostProcessor在实例化bean和调用生命周期事件之后再执行它。
这BeanFactoryPostProcessor是不是在实例化之前就称为BeanPostProcessorSpring生命周期事件的一部分,而不是Spring生命周期事件的一部分?请验证我的理解是否正确。
BeanPostProcessorSpring
BeanFactoryPostProcessor是一个接口,实现它的bean实际上是经过Spring生命周期的bean(下面的示例),但是这些bean不参与其他声明的bean的生命周期。
public class CustomBeanFactory implements BeanFactoryPostProcessor { @Override public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException { for (String beanName : beanFactory.getBeanDefinitionNames()) { BeanDefinition beanDefinition = beanFactory.getBeanDefinition(beanName); // Manipulate the beanDefiniton or whatever you need to do } } }
有关差异BeanFactoryPostProcessor和BeanPostProcessor:
eanFactoryPostProcessor