我的设置如下:
@Configuration
public class MyConfig {
@Autowired
ApplicationContext applicationContext;
@Bean
public MyBean myBean() {
return applicationContext.getAutowireCapableBeanFactory().createBean(MyBean.class);
}
}
当我启动应用程序时,Spring会在注入myBean
之前尝试创建applicationContext
。由于后者为null
,因此会在方法NullPointerException
中生成myBean()
。
奇怪的是,注入应用程序上下文可以在其他一些@Configuration
类中使用,但不能在上面提到的类中使用。
在调用方法applicationContext
之前是否有办法强制注入myBean()
?
答案 0 :(得分:0)
我认为您无法保证在调用使用 <img src="http://localhost:58173/api/Documents/GetImage/2" />
声明的方法之前始终加载使用@Autowired
声明的字段。
为了确保@Bean
对象的价值,您可以使配置类实现ApplicationContext
。
ApplicationContextAware