依赖项注入Spring Boot



我可以在同一个类中使用两种依赖注入吗?

public class Test {

private ObjectTwo o2;
@Autowired                     // constructor injection
public Test(ObjectTwo o2 ) {
this.o2=o2;
}
@Autowired                     // field injection
private ObjectOne o1;
...
"using o1"
"using o2"
...
}

相关问题

https://stackoverflow.com/a/70656587/17755094

可以。您可以注入o1和o2,并使用@Qualifier注释和@Autowired来区分它们。请参阅此处-https://www.baeldung.com/spring-qualifier-annotation.

下面是一个例子;你可以有尽可能多的";格式化程序";实例,只要您在它们上使用@Qualifier注释来区分要注入的实例即可。

@Component("fooFormatter")
public class FooFormatter implements Formatter {

public String format() {
return "foo";
}
}
@Component("barFormatter")
public class BarFormatter implements Formatter {

public String format() {
return "bar";
}
}
public class FooService {
@Autowired
@Qualifier("fooFormatter")
private Formatter formatter;
}

混合注射类型

您可以混合构造函数和属性注入(setters(,所以我相信您也可以混合注释和构造函数注入。

相关内容

最新更新