Configuration 中无法自动注入依赖于component的bean

出现问题时我这样使用依赖注入

@Configuration
public class WebServiceConfig {

    @Autowired
    private IMessageWebService messageWebService;
    
    @Bean
    public Endpoint endpointHttp() {
        EndpointImpl endpoint = new EndpointImpl(springBus(), messageWebService);
        endpoint.publish("/messageWebService");
        return endpoint;
    }
}

出错信息

Caused by: java.lang.NullPointerException: null

方法一

下面这样处理可以解决问题

@Configuration
public class WebServiceConfig {
    
    @Bean
    public Endpoint endpointHttp(IMessageWebService messageWebService) {
        EndpointImpl endpoint = new EndpointImpl(springBus(), messageWebService);
        endpoint.publish("/messageWebService");
        return endpoint;
    }
}

我们不使用自动注入,问题解决

方法二

@Configuration
@DependsOn(value = "springUtil")
public class WebServiceConfig {

    @Autowired
    private IMessageWebService messageWebService;
    
    @Bean
    public Endpoint endpointHttp() {
        EndpointImpl endpoint = new EndpointImpl(springBus(), messageWebService);
        endpoint.publish("/messageWebService");
        return endpoint;
    }
}

加入前置操作

posted @ 2019-03-28 11:23  DaleyZou  阅读(3311)  评论(0编辑  收藏  举报