我正在嘗試創建一個BeanPostProcessor
用於向Map註冊一些值。@Bean註釋不起作用的BeanPostProcessor
BeanPostProcessor
工作正常,如果我通過xml定義創建bean實例,但如果我將bean定義更改爲@Configuration
它不起作用。如果我使用上面的配置
PostProcessor中
public class InstantiationTracingBeanPostProcessor implements BeanPostProcessor {
public Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException {
return bean;
}
public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException {
System.out.println("Bean '" + beanName);
return bean;
}
}
bean配置
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.context.annotation.Bean;
@org.springframework.context.annotation.Configuration
public class Configuration {
@Bean
public @Qualifier("InstantiationTracingBeanPostProcessor")
InstantiationTracingBeanPostProcessor activitiConfigurationBeanPostProcessor() {
return new InstantiationTracingBeanPostProcessor();
}
}
組件掃描配置
<context:component-scan base-package="xyz.config"/>
<context:annotation-config/>
應用程序只是掛起。但如果我使用基於xml的配置,如下所示,它工作正常。
<bean class="xyz.bean.InstantiationTracingBeanPostProcessor"/>
我在這裏做錯了什麼?
我能看到你的主要方法嗎? –
@ harish.raj它是一個網絡應用程序 –
你使用哪個Spring版本? – Ralph