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;
    }
}

加入前置操作


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM