【问题标题】:Injecting with Gin into instance created by GWT.create将 Gin 注入 GWT.create 创建的实例中
【发布时间】:2011-12-05 18:27:38
【问题描述】:

我有一个实例化对象的自定义延迟绑定器(重新绑定实现)。我想在 GWT.create() 返回的实例中有一些依赖项(@Inject 带注释的设置器方法),由 GIN 完成。这可能吗?

所以,给定代码例如:

Foo foo = GWT.create(Foo.class);

如果 foo 的最终实现有:

@Inject
public void setBar(Bar bar) {
    ...
}

如何让 GIN 自动将 bar 注入到返回的 foo 实例中?

【问题讨论】:

    标签: gwt gwt-gin


    【解决方案1】:

    您的 Ginjector 可以添加一些方法来注入以其他方式创建的对象。这些必须采用一个参数,并且应该指定可能的最具体的类型。例如,如果 MyViewImpl 扩展了 BaseView,并且两种类型都有要注入的依赖项,但您声明了

    void injectBaseView(BaseView view);
    

    在您的 ginjector 中,只会处理在 BaseView 上声明的字段/设置器。

    编辑:另外,如果没有声明绑定,GWT.create 将用于创建一个实例,这样你就可以吃蛋糕了。我记得的一个例外是,当您想要 GWT.create 一种类型,但返回另一种类型时(请参阅 RPC 接口以获取示例)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-06
      • 2018-01-27
      相关资源
      最近更新 更多