应用程序上下文未注入`@Configuration`注释类

时间:2018-02-13 16:32:38

标签: java spring

我的设置如下:

@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()

1 个答案:

答案 0 :(得分:0)

我认为您无法保证在调用使用 <img src="http://localhost:58173/api/Documents/GetImage/2" /> 声明的方法之前始终加载使用@Autowired声明的字段。

为了确保@Bean对象的价值,您可以使配置类实现ApplicationContext

ApplicationContextAware