Java 将多个接口实现注入到类构造函数中

Java 将多个接口实现注入到类构造函数中,java,dependency-injection,guice,Java,Dependency Injection,Guice,我是Java Guice新手,在设计应用程序时遇到困难。 我将尽可能简单地解释我的设计和预期结果。 我有一个名为Ialgorithm的接口,以及该接口的3个实现,比如IalgorithmA,IalgorithmB,ialgorithmc 我有一个名为myClass的类,其构造函数如下: public myClass(Ialgorithm alg) {...} 现在,我希望能够使用注释插入Ialgorithm接口实现之一的实例: 我希望在结尾能够用我的主语写: // ... intialize

我是Java Guice新手,在设计应用程序时遇到困难。
我将尽可能简单地解释我的设计和预期结果。

我有一个名为
Ialgorithm
的接口,以及该接口的3个实现,比如
IalgorithmA
IalgorithmB
ialgorithmc


我有一个名为
myClass
的类,其构造函数如下:

public myClass(Ialgorithm alg) {...}
现在,我希望能够使用注释插入
Ialgorithm
接口实现之一的实例: 我希望在结尾能够用我的主语写:

// ... intialize an Injector with a Moudle that extents AbstractModule
myClass a = injecotr.getInstance(key.get(myClass.class,Aannotation.class));
myClass b = injecotr.getInstance(key.get(myClass.class,Bannotation.class));
myClass c = injecotr.getInstance(key.get(myClass.class,Cannotation.class));
我在网上读了一些教程,但我找不到确切的方法来实现这一点

此外,在上述问题得到解决后,我提出以下问题: 实际上,第三个实现,
IalgirthmC
,与包含默认构造函数的其他两个实现不同:它的构造函数是:

public IalgorithmC(Ialgorithm,int n) {...}
现在变得更复杂了。。。因为我希望Guice注入Ialgorithm参数,但是int参数不应该由Guice(@Assisted)注入,并且当使用
cannotation
时,
IalgorithmC
的整个实例应该被注入
myClass

当然,我应该为int参数提供一个值,并在
IalgorithmC
中为内部
Ialgorithm
提供一个注释

谢谢大家的帮助。

这篇文章讨论的是一个解决方案在guice中的多个实现