Guiceのバインディングについて質問があります。Guiceは2つの異なるクラスを同じインターフェースにバインドしています。
私は2つのクラス(MyClass1とMyClass2)が両方とも同じインターフェースを実装しています。つまり、IMyIntefaceです。
私は、バインディングとして設定されてしまっています
バインド(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の実装を望んでいますか?私はあなたが行うことができると思い
感謝
多くのありがとうございます。できます :) – Kevin