方法注入可选类?

时间:2015-06-24 08:19:28

标签: java spring

@Bean
public Mybean create(MyServiceToInject myservice) {
    bean = Mybean();
    if (myservice != null)
       bean.setMyservice(myservice);
}

如何告诉spring MyServiceToInject可能为空,如果丢失则不能注入?

1 个答案:

答案 0 :(得分:3)

最简单的方法是在bean中自动装配它(不是在bean配置中):

@Component
public class MyBean {
    @Autowired(required=false)
    private MyServiceToInject myService;
}

您也可以在配置类中自动装配,但在这种情况下似乎没有必要:

@Autowired(required=false)
private MyServiceToInject myService;

@Bean
public Mybean create() {
    bean = Mybean();
    if (myservice != null)
       bean.setMyservice(myService);
}