Spring BeanPostProcessor是否覆盖初始化bean通知?

Spring BeanPostProcessor是否覆盖初始化bean通知?,spring,Spring,我在试验Spring的BeanPostProcessor,BeanFactoryPostProcessor,初始化bean,销毁bean 我对这些通知概念感到困惑 我创建了一个实现Initi*bean的简单bean,即一次性bean。并且还注册了样本后处理器factoryPostprocessor。并在所有接口方法中添加了sysout 我创建了AbstractApplicationContext并注册了关机挂钩 当我运行应用程序时,我看到BeanFactoryProcessor方法prints、

我在试验Spring的BeanPostProcessor,BeanFactoryPostProcessor,初始化bean,销毁bean

我对这些通知概念感到困惑

我创建了一个实现Initi*bean的简单bean,即一次性bean。并且还注册了样本后处理器factoryPostprocessor。并在所有接口方法中添加了sysout

我创建了AbstractApplicationContext并注册了关机挂钩

当我运行应用程序时,我看到BeanFactoryProcessor方法prints、AfterProperties方法,然后调用destroy方法。我看不到叫“初始化bean”的

BeanPostProcessor是否覆盖初始化bean通知


请解释。

您在
BeanPostProcessor
两种方法中都返回了
null
。这导致Spring认为您不希望对该bean进行任何进一步的处理,包括通过
initializebean
进行初始化

只需返回您收到的原始bean(在两种方法中)


因为您不想处理它。

请给出一个完整的示例,演示您正在描述的行为。1)Employee bean实现初始化bean,一次性bean 2)SampleBeanPostProcessor实现BeanpostProcessor 3)SampleBeanPactoryBeanPostProcessor实现BeanPactoryPostProcessor。使用AnnotationConfiurer初始化抽象应用程序上下文。使用关闭挂钩注册的上下文。检索到的Employee bean和上下文已关闭..我看到使用Spring 4x调用的
AfterPropertieSet
很好。
AfterPropertieSet
初始化bean
方法。我使用了4.1.6。这就是印刷的意义。。postProcessBeanFactory:postProcessBeforeInitialization:销毁
@Override
public Object postProcessAfterInitialization(Object bean, String arg1) throws BeansException {
    System.out.println("postProcessAfterInitialization");
    return bean;
}