杜松子酒在Gwt项目中的奇怪行为

时间:2011-06-14 12:23:46

标签: java gwt dependency-injection gin

对于我来说有些莫名其妙的理由,杜松子酒并不像我想的那样有效。让我用小代码解释一下。

假设我有一个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

可能是什么问题?所有的形式都是单身...可能我不应该像那样注射那些喷射器?

由于

1 个答案:

答案 0 :(得分:0)

我相信杜松子酒不支持注射注射器:gin groups discussion

你有没有理由尝试直接注射注射器而不是注射依赖?

您应该直接注入依赖项:

    @Inject
    public formA(FormB formB, FormC formC){