问题标签 [gwt-gin]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1015 浏览

gwt - 用于 Rpc 服务的变量上的 GIN @Inject

我对在变量上使用 Inject 有点迷茫。

我得到了这段代码:

使用这段代码,我可以在课堂上的任何需要的地方调用我的 RPC 服务(点击...)我想通过直接在变量中注入来清除代码;这样做 :

这始终将服务保持为 NULL。难道我做错了什么 ?rpc 服务的 GIN 魔法是否意味着要以其他方式完成?

谢谢!

0 投票
2 回答
1046 浏览

gwt - GWT、Guice 和 GIN 编译

我正在尝试使用 Guice 和 Gin 构建和 GWT MVP 应用程序。我在我的 Eclipse 项目中添加了 Guice 和 GIN jar,但我遇到了这个错误:

我做了一个快速的谷歌搜索,这里说我们需要针对 GWT SDK 重新编译 GIN。此外,Gin Tutorial提到了一些关于编译步骤的内容。

将 GIN jar 添加到 GWT 项目是不够的,还是必须从源代码生成 gin.jar?我如何使用 Eclipse(使用 Google 插件)完成此操作?

PS:我没有在我的项目中使用 Maven。只有 Eclipse 和 Google 工具 另一个 PS:目前使用 Guice 3.0、Gin 1.5 和 GWT 2.3

0 投票
2 回答
3423 浏览

java - 使用 Gin 构建 GWT 时出现 NullPointerException

我的 Gin 模块包含以下内容:

有问题的类型是:

当我尝试 GWT 编译时,我收到以下错误:

我在这里做错了什么?注释掉该bind(HistoryWrapper.class)行会使问题消失,尽管显然我需要该类型的绑定。

当我尝试使用一种@Provides方法时,我遇到了类似的错误。

更新:现在我得到了一个不同的 NPE,但我不知道为什么:

0 投票
2 回答
2298 浏览

gwt - GIN 绑定的范围是什么?

我想知道两个绑定后的范围有哪些:

我已经阅读了 JavaDocs,它们如下。对于单身人士:

对于没有范围:

这实际上意味着什么?每个客户端或每个 JVM 是单例吗?没有范围,每个实例都不同吗?

0 投票
1 回答
2188 浏览

gwt - GWT GIN 场级注入

我们正在评估在 GWT 项目中使用 GIN 的情况,并且通过构造函数参数的典型注入取得了良好的结果。我们遇到的困难是现场水平注入。这些字段总是最终为空。有没有人有一个很好的例子来说明如何使用 GIN 正确实现归档级别注入?

更新:

这是一些类似于我们的示例代码:

在上面的代码中,我已经删除了大部分不涉及 GIN 的代码。DetailPresenter 所需的 TestPresenter 注入成功,但 TestPresenter 所需的 HandlerManager 始终为 null。可以看到,注入的 HandlerManager 并没有在构造函数中使用。

0 投票
1 回答
917 浏览

java - 是否可以在运行时从 GWT 获取泛型参数类型

问题:我在 GWT 客户端有一个类型为 T 的泛型超类,子类是在运行时生成的(使用 GIN)并初始化了泛型参数,是否可以在运行时检索具体子类的泛型参数类型?

我可以在 JRE 环境中获取实际类型(使用 Class.getGenericSuperclass 和 Class.getActualTypeArguments),但是我不知道如何在 GWT 环境中执行此操作,我搜索了一些 GWT 3rd 反射库,似乎它们都不支持此功能。是否可以在运行时从 GWT 获取泛型参数类型?如果没有,任何解决方法?

非常感谢。

我发现了一个项目:gwt-preprocessor,它在编译时生成反射信息,在某些情况下非常有用。

0 投票
1 回答
1130 浏览

generics - 如何使用 GIN 为通用接口创建与通用实现的默认绑定?

我正在为我们的项目尝试 Google GIN,我遇到了一个案例,我有一个通用接口和该接口的通用实现:

现在我有一个需要在构造函数中注入 IFace 的接口用户:

如果我尝试将接口绑定到实现bind(IFace.class).to(Face.class);,则注入失败

所以 GIN 没有找到绑定IFace<String>并回退到IFace使用绑定和尝试GWT.create(IFace.class)

我也尝试过bind(new TypeLiteral<IFace>(){}).to(new TypeLiteral<Face>(){});bind(new TypeLiteral<IFace<?>>(){}).to(new TypeLiteral<Face<?>>(){});但没有成功。

我知道我可以绑定IFace<String>Face<String>,但这可能会导致一个巨大的模块,其中包含大量重复代码。也可以使用@ImplementedBy(Face.class),但这不是一个选项。

有没有bind(...).to(...)我需要使用的魔法组合?这甚至可以用 GIN 吗?

0 投票
1 回答
1138 浏览

gwt - 不能在 GWT 应用程序中结合 GIN 和自定义 bean 验证器(编译器错误)

你们能帮我在 GWT 应用程序(GWT 2.4)中结合 GIN 和自定义 bean 验证器吗?

GWT 编译器给了我以下错误:

我的 GIN 模块看起来像这样

哪里NewOrderView只是延伸Composite

在我.gwt.xml的模块中,我有以下说明

所以我想也许 GIN 想在 Java 代码中知道这一点,所以我修改了我的 GIN 模块,它变成了

但它并没有帮助,虽然错误信息变得更大:

更新:详细的 GWT 编译器输出:

我该怎么办 ?

0 投票
1 回答
314 浏览

gwt - 自定义创建一个 gin 托管对象或创建同一类的两个不同实例

我希望能够创建同一个类的两个实例,并让它们注入不同的属性,然后将这两个对象注入我的应用程序中的两个特定位置。

目前我的 ClientModule 中有一个方法...

然后在我的演示者等中,我执行以下操作:

而且效果很好。基于相应的@Named 注释,我得到了正确的bean。

但是,这种方法有一个弱点,我需要在 @Provides 方法中创建并注入 MainBean 的所有依赖项。

因此,例如,SecondaryBean 的任何 @Inject 注释都不会受到尊重。

我可以做的一件事是将任何相关的依赖项传递给 getMainBean 方法,但我想知道是否可能有另一个更优雅或更好的解决方案。

有人有什么想法吗?

0 投票
1 回答
1592 浏览

gwt - GWTP 应用程序中的 GIN 绑定问题

每个人!我的 GWT 应用程序存在编译问题,该应用程序分为 3 个模块:App-core:包含没有入口点的主类,App-A 和 App-B:从 App-core 继承,并包含特定类在每个子模块中都有一个入口点。

我正在使用 GIN 在每个模块中注入类实例:

在应用程序核心中:

在 App-A 中:

我们在 App-B 中做同样的事情

App-A 的 maven 编译成功,但 App-B 的编译失败,并显示以下消息:

所以这一切的奇怪部分是这个错误来自这两个子模块之间的共享模块,女巫是 LoginPagePresenter 和 AuthentificationManager 的绑定,但我们只有一个子模块有这个编译错误。所以如果有人遇到这个问题之王,我正在等待他的宝贵帮助^^

啊! 如果你想要一些精度,不要害羞!