1
私のアプリケーションには、特定の名前またはクラスに何かをバインドする複数のモジュールがあります。 Guiceに指示する方法はありますか。どのモジュールを使用して注入する依存関係を解決するべきですか?Guiceは注入に使用するモジュールを指定します
青はモジュール1のクラスを示し、赤はモジュール2のクラスを示します。Aクラスから2つのインスタンスを作成しますが、異なるクラスはいくつかの依存関係にバインドされます。
public class Module1 extends AbstractModule {
@Override
protected void configure() {
bind(C.class).to(C_Impl1.class)
bind(D.class).to(D_Impl1.class)
}
}
public class Module2 extends AbstractModule {
@Override
protected void configure() {
bind(C.class).to(C_Impl2.class)
bind(D.class).to(D_Impl2.class)
}
}
public class Application {
@Inject @UseModules(Module1, ...) private final A someClassUsingImpl1;
@Inject @UseModules(Module2, ...) private final A someClassUsingImpl2;
public void doSomethingWithImpl1() {
someClassUsingImpl1.doSomething()
}
public void doSomethingWithImpl2() {
someClassUsingImpl2.doSomething()
}
}