我有一个关于 Guice 绑定的问题。
我有两个类(MyClass1 和 MyClass2)都实现了相同的接口,比如:IMyInteface。
我已将绑定配置为:
bind(IMyInterface.class).annotatedWith(Class1.class).to(MyClass1.class); bind(IMyInterface.class).annotatedWith(Class2.class).to(MyClass2.class);
Class1 和 Class2 是定义的注释。
现在,如果我在客户端使用此代码:
Injector injector = Guice.createInjector(new MyModule());
IMyInterface c = injector..getInstance(IMyInterface.class);
Guice 不知道我想为 IMyInterface 使用哪种实现。无论如何我可以在这个阶段指定注释来选择性地说:我想要MyClass2的实现?
非常感谢