Gwt-dispatch注射

Gau*_*rav 3 gwt gwt-gin dependency-injection gwt-dispatch

要使用gwt-dispatch,我们创建一个对象,如:

private static final DispatchAsync dispatchAsync = GWT.create(DefaultDispatchAsync.class);
Run Code Online (Sandbox Code Playgroud)

有没有办法用注入做这个,我的意思是如何将这个DispatchAsync对象注入我们需要使用它的其他类.

这与@Inject注释有关!

sim*_*n_d 7

是的,您可以使用Gin通过@Inject注释注入您的调度接口.

首先,您需要为DispatchAsync接口配置Gin绑定到Gin ClientModule中的实现.

bind(DispatchAsync.class).to(DefaultDispatchAsync.class).in(Singleton.class);
Run Code Online (Sandbox Code Playgroud)

完成后,您可以让Gin在您的构造函数中注入调度程序.

class foo {
    private final DispatchAsync dispatcher;

    @Inject
    public foo(final DispatchAsync dispacher) {
        this.dispatcher = dispatcher;
    }
}
Run Code Online (Sandbox Code Playgroud)

  • 我发现(使用gwt-dispatch 1.1.0)你可以在你的Ginjector中有以下内容:`@GinModules({MyGinModule.class,StandardDispatchModule.class})`,其中`StandardDispatchModule.class`是gwt-dispatch class为`DispatchAsync`提供标准绑定.然后你可以在需要它的类的构造函数中注入一个`DispatchAsync`. (2认同)