对于我来说有些莫名其妙的理由,杜松子酒并不像我想的那样有效。让我用小代码解释一下。
假设我有一个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
可能是什么问题?所有的形式都是单身...可能我不应该像那样注射那些喷射器?
由于
答案 0 :(得分:0)
我相信杜松子酒不支持注射注射器:gin groups discussion。
你有没有理由尝试直接注射注射器而不是注射依赖?
您应该直接注入依赖项:
@Inject
public formA(FormB formB, FormC formC){