Java 在Spring中自动关联同一类的2个实例
我尝试使用Spring创建同一类的两个实例,我想让Spring管理依赖注入。我遇到的问题是,这些实例中的任何一个都已经有一些Java 在Spring中自动关联同一类的2个实例,java,spring,Java,Spring,我尝试使用Spring创建同一类的两个实例,我想让Spring管理依赖注入。我遇到的问题是,这些实例中的任何一个都已经有一些@Autowired字段,这两个实例的字段相同,因此我无法使用@Configuration类(或者我不知道如何使用)。例如,这是我的用例的草图: //这里要使用什么注释? 甲级{ @自动连线 头等舱; @自动连线 二等兵; 私有布尔aBool; //这里使用什么注释?从何处以及如何调用此构造函数? 公共A(布尔ABOL){ this.aBool=aBool; } } B类{
@Autowired
字段,这两个实例的字段相同,因此我无法使用@Configuration
类(或者我不知道如何使用)。例如,这是我的用例的草图:
//这里要使用什么注释?
甲级{
@自动连线
头等舱;
@自动连线
二等兵;
私有布尔aBool;
//这里使用什么注释?从何处以及如何调用此构造函数?
公共A(布尔ABOL){
this.aBool=aBool;
}
}
B类{
@自动连线
@限定符(“aboltrue”)//或类似的注释
私有A oneInstanceOfA;//oneInstanceOfA.aBool==true
@自动连线
@限定词(“aboolflse”)
私有A theOtherInstanceOfA;//theOtherInstanceOfA.aBool==false
}
在本例中,我需要Spring创建和管理通过同一构造函数创建的同一类的两个不同实例(请参阅与aBool相关的注释),但参数值不同。使用Spring可以实现这个场景吗?您好,您可以使用2方法添加@Configuration类
@Configuration
class ConfigurationClass{
@Bean
@Qualifier("aBoolTrue") //
public A oneInstanceOfA(SomeClass someClass, OtherClass second){ //Maybe With Other Qualifier for the parameter if needed
return new A(someClass, second, true);//Need another construtor
}
@Bean
@Qualifier("aBoolFalse")
public A oneInstanceOfA(SomeClass someClass, OtherClass second){
return new A(someClass, second, false);//Need another construtor
}
}
这篇文章有明确的解释