我对Guice有疑问。我有一个接口IMyInterface,MyClass类实现它。
public class MyClass {
public MyClass(IMyWorker);
}
接口IMyWorker有两个实现者MyWorker1和MyWorker2。
我得到的绑定是:
bind(IMyInterface.class).to(MyClass.class);
bind(IMyWorker.class).annotatedWith(W1.class).to(MyWorker1.class);
bind(IMyWorker.class).annotatedWith(W2.class).to(MyWorker2.class);
W1和W2是定义的注释。
我的问题是:当我创建MyClass的实例时,如何指定我想要将哪个Worker注入到MyClass的构造函数中?
非常感谢。
答案 0 :(得分:1)
将注释添加到MyClass
。
@Inject
public MyClass(@W1 IMyWorker worker)
{
....
}
这样就会注入类MyWorker1
的实例。