Guiceでのバインディングについて質問があります。
2つのクラス(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の実装が必要ですか?
どうもありがとう