質問
オブジェクトをインスタンス化するカスタム延期バインダー(実装の再構築)があります。 gwt.create()がGINによって満たされたインスタンス内に、いくつかの依存関係(@Inject Annotated Setterメソッド)を持ちたいと思います。これは可能ですか?
したがって、次のようなコードが与えられます:
Foo foo = GWT.create(Foo.class);
Fooの最終実装には次の場合:
@Inject
public void setBar(Bar bar) {
...
}
ジンによって返されたfooインスタンスにバーを自動的に注入するにはどうすればよいですか?
解決
Ginjectorは、他の方法で作成されたオブジェクトを注入する目的で、メソッドを追加することができます。これらは1つの引数を取得する必要があり、可能な限り最も具体的なタイプを指定する必要があります。たとえば、myviewimplがBaseViewを拡張し、両方のタイプに注入する依存関係がある場合、
void injectBaseView(BaseView view);
Ginjectorでは、BaseViewで宣言されたフィールド/セッターのみが処理されます。
編集:また、バインディングが宣言されていない場合、GWT.Createを使用してインスタンスを作成するため、ケーキを食べて食べることができます。私が思い出すことができる限りの1つの例外は、1つのタイプをGWT.Createにしたいが、別のタイプを返す場合です(例についてはRPCインターフェイスを参照)。
所属していません StackOverflow