有没有办法在通过 ui 绑定创建的小部件中使用依赖注入?
假设我有一个简单的小部件(在 com.example.client.ui.widget 包中):
public class Foo extends Composite {
private final EventBus eventBus;
@Inject
public Foo(final EventBus eventBus) {
this.eventBus = eventBus;
// create ui
}
}
然后我有一个通过使用此小部件的 ui 绑定定义的视图。例如:
<ui:UiBinder xmlns:ui='urn:ui:com.google.gwt.uibinder'
xmlns:g='urn:import:com.google.gwt.user.client.ui'
xmlns:app='urn:import:com.example.client.ui.widget'>
<g:HorizontalPanel>
<app:Foo/>
</g:HorizontalPanel>
</ui:UiBinder>
这样做是行不通的,因为 ui 绑定中使用的小部件的无参数构造函数约束。但是,如果 GWT 编译器在有 @Inject 注释的情况下只使用 GIN,那不是很好吗?或者这可以通过任何其他方式完成吗?也许我完全错过了 GIN 和 GWT 的概念,如果是这样,任何提示都非常感谢。
在此先感谢,马库斯