java - 带有可选类的方法注入(inject)?

标签 java spring

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

我如何告诉 spring MyServiceToInject 可能为 null,如果丢失则不能注入(inject)?

最佳答案

最简单的方法是在你的 bean 中 Autowiring 它(而不是在 bean 配置中):

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

你也可以在配置类中 Autowiring ,但在这种情况下这似乎是不必要的:

@Autowired(required=false)
private MyServiceToInject myService;

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

关于java - 带有可选类的方法注入(inject)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31021325/

相关文章:

java - IndexOutOfBoundsException 即使元素存在于数组列表中

java - grails:无法连接到SMTP主机:*********,端口:25

java - 从参数中将字符串内容分配给 Java 中的新字符串

java - 我无法在 Mysql 数据库中存储 .doc 简历

java - nameParameterjdbcTemplate 给出空指针异常

java - Apache Tomcat 6 是否支持 JTA?

java - 即使循环良好,也会无限循环

java - 使用 Signature.sign 对 Java 字符串进行签名 : why is the signature is different every time?

java - 在 javascript 中迭代模型映射列表

java - 使用 spring 注释查看 NoSuchMethodExceptions