Java 在AutoWiredNotationBeanPostProcessor添加到AbstractBeanPactory.beanPostProcessors之前创建的SpringBean
在spring上下文4.0.5中,在AbstractApplicationContext.refresh()中调用invokeBeanFactoryPostProcessors可能会导致在BeanFactoryPostProcessor实现中创建一些bean 问题是Java 在AutoWiredNotationBeanPostProcessor添加到AbstractBeanPactory.beanPostProcessors之前创建的SpringBean,java,spring,autowired,Java,Spring,Autowired,在spring上下文4.0.5中,在AbstractApplicationContext.refresh()中调用invokeBeanFactoryPostProcessors可能会导致在BeanFactoryPostProcessor实现中创建一些bean 问题是AutowiredNotationBeanPostProcessor在创建bean时没有添加到AbstractbeanFactory.beanPostProcessors(它是由调用寄存器beanPostProcessors(bean
AutowiredNotationBeanPostProcessor
在创建bean时没有添加到AbstractbeanFactory.beanPostProcessors(它是由调用寄存器beanPostProcessors(beanFactory)在下一行添加的),因此@Autowired属性将为null
如何解决此问题?尝试使用Spring@PostConstruct注释
问题在于刷新方法,在该方法中,在注册AutoWiredNotationBeanPostProcessor之前调用BeanFactoryPostProcessors
在应用程序上下文文件中使用导入标记时调用的方法。我使用annotation config在资源文件中注册bean并删除标记,然后问题就解决了。Hi Pavel,tanks,请快速重播。我已经实现了InitializingBean来创建null属性的实例。我喜欢一些新的解决方案,例如将AutoWiredNotationBeanPostProcessor添加到BeanPostProcessor,或者更改AbstractApplicationContext.referes()中的调用方法顺序