0
Guiceが初めてです。次のようにGuiceのカスタマイズされたオブジェクトのマップを注入する
public class TransactionConfigModule extends AbstractModule {
@Override
protected void configure() {
MapBinder<String, ITransactionManager> transactionModeMap = MapBinder
.newMapBinder(binder(), String.class, ITransactionManager.class
, Names.named("TransactionManagerMap"));
transactionModeMap.addBinding(TransactionMode.CREDIT.platformName())
.to(CreditCardManager.class)
.asEagerSingleton();
transactionModeMap.addBinding(TransactionMode.DEBIT.platformName())
.to(DebitCardManager.class)
.asEagerSingleton();
}
}
そして私は(すでにあった)インジェクターを作成しました::(すでにあった)
Injector injector = createInjector(
new PaymentModule()
);
PaymentModuleには、次のようなものです:私は、次のモジュール書かれている
ここでpublic class RBSAVSTechServiceModule extends AbstractModule {
...
protected void configure(){
install(new TransactionConfigModule()); <--- I just added this line in the existing code
}
}
私は取得しています次の例外:
No implementation for java.util.Map<java.lang.String, ITransactionManager> was bound.
これを修正する方法については何も考えていません。