0

説明のつかない理由で、ジンは意図したとおりに機能しません。小さなコードで説明しましょう。

私はformAを持っているとしましょう

@Singleton
public class formA extends Composite

    private final MyGinjector ginjector;

    @Inject
    public formA(MyGinjector ginjector)
    {
      this.ginjector = ginjector;
      this.add(ginjector.getFormB());
      this.add(ginjector.getFormC());   
    }

ここに formB と formC があります (formB と formC に同様のコードがあると仮定します)

@Singleton
public class formB extends Composite
{
@Inject
public formB(MyGinjector ginjector)
{
  this.ginjector = ginjector;
..............
}
}

そして、私が直面している問題は、formAを注入するときです(ginjector.getFormA()はformAのインスタンスを返しますが、childWidgetsの意味が欠落しており、formBとformCへの参照はありません

何が問題なのですか?すべてのフォームはシングルトンです...おそらく、ジンジェクターをそのように注入するべきではありませんか?

ありがとう

4

1 に答える 1

0

gin はインジェクターの注入をサポートしていないと思います: gin グループのディスカッション

依存関係を直接注入する代わりにインジェクターを注入しようとする理由はありますか?

依存関係を直接注入する必要があります。

    @Inject
    public formA(FormB formB, FormC formC){
于 2011-06-14T13:08:22.567 に答える