9
Guiceモジュール を書くことが可能かどうか疑問に思っていましたが、それ自体がタイプTでパラメータ化されていて、 バインディングを指定するために使用されています。タイプパラメータを持つGuiceモジュール
枚この(動作していない)の例では:
interface A<T> {}
class AImpl<T> implements A<T>{}
interface B<T> {}
class BImpl<T> implements B<T> {}
class MyModule<T> extends AbstractModule {
@Override
protected void configure() {
bind(new TypeLiteral<A<T>>(){}).to(new TypeLiteral<AImpl<T>>(){});
bind(new TypeLiteral<B<T>>(){}).to(new TypeLiteral<BImpl<T>>(){});
}
}
私は クラス/ TypeLiteralのインスタンスとしてのmymoduleするTを渡そうと渡し異なるアプローチを試みたが、それらのどれも働きました。 ヘルプをいただければ幸いです。
よろしく、ルカシュOsipiukあなたがcom.google.inject.util.Types
を使用して、ゼロから各TypeLiteralを構築する必要がありますそのために
ありがとうございました - 魅力のように動作します:) – losipiuk
歓迎です、私は助けてくれると嬉しいです。私はすでにこの種の高度なものを私の腸内イベントライブラリーで使っていたことを知っていたので、私が過去に行ったことからあなたの例を適用することはあまり難しくありませんでした。 – jfpoilpret