在将AutowiredAnnotationBeanPostProcessor添加到AbstractBeanFactory.beanPostProcessors之前创建的Spring Bean

时间:2014-12-24 12:57:40

标签: java spring autowired

在spring-context 4.0.5中,调用AbstractApplicationContext.refresh()中的invokeBeanFactoryPostProcessors可能导致在BeanFactoryPostProcessor实现中创建一些bean。

问题是在创建bean时没有将AutowiredAnnotationBeanPostProcessor添加到AbstractbeanFactory.beanPostProcessors(它是在下一行中通过调用registerBeanPostProcessors(beanFactory)添加的),因此@Autowired属性将为null。

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:0)

问题是刷新方法,在此方法BeanFactoryPostProcessors在AutowiredAnnotationBeanPostProcessor注册之前调用。

在应用程序上下文文件中使用import标记时调用的方法。我在资源文件中使用注释配置注册bean并删除标记,然后问题就解决了。

答案 1 :(得分:-1)