在spring-context 4.0.5中,调用AbstractApplicationContext.refresh()中的invokeBeanFactoryPostProcessors可能导致在BeanFactoryPostProcessor实现中创建一些bean。
问题是在创建bean时没有将AutowiredAnnotationBeanPostProcessor
添加到AbstractbeanFactory.beanPostProcessors(它是在下一行中通过调用registerBeanPostProcessors(beanFactory)添加的),因此@Autowired属性将为null。
我该如何解决这个问题?
答案 0 :(得分:0)
问题是刷新方法,在此方法BeanFactoryPostProcessors在AutowiredAnnotationBeanPostProcessor注册之前调用。
在应用程序上下文文件中使用import标记时调用的方法。我在资源文件中使用注释配置注册bean并删除标记,然后问题就解决了。
答案 1 :(得分:-1)
尝试使用Spring @PostConstruct注释 https://docs.oracle.com/javaee/5/api/javax/annotation/PostConstruct.html