我已经在我的GWT模块描述符中声明了一个生成器,当触发生成器的类通过Ginjector实例化时,它似乎没有被调用。
public interface MyGinjector extends Ginjector {
MyWidget getMyWidget();
}
public class MyEntryPoint implements EntryPoint {
public static final MyGinjector INJECTOR = GWT.create(MyGinjector.class);
public void onModuleLoad() {
MyWidget myWidget = INJECTOR.getMyWidget(); // [1]
MyWidget myWidget = GWT.create(MyWidget.class); // [2]
RootPanel.add(myWidget);
}
}
[1]未调用生成器。
[2]
这是否意味着GIN注入器不通过GWT.create()方法实例化对象?
谢谢你的帮助。亲切的问候,
AFAIK, GIN(至少在1.5之前)只会生成GWT.create()
,如果类有一个公共的零参数构造函数,没有用@Inject
注释(否则它会对它做一个new
)