GWT.Createによって作成されたインスタンスにジンを注入します

StackOverflow https://stackoverflow.com/questions/8390019

  •  28-10-2019
  •  | 
  •  

質問

オブジェクトをインスタンス化するカスタム延期バインダー(実装の再構築)があります。 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インターフェイスを参照)。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top