问题标签 [guice]

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 投票
1 回答
1467 浏览

generics - Guice SPI:按通配符类型查找绑定

Guice 提供了一种查找给定类型 ( Injector#findBindingsByType )的所有绑定的方法,它还提供了一个TypeLiteral 类,似乎可以从中构造通配符类型。我想做的是找到某种类型的所有绑定,这些类型由通配符类型参数化,但我不知道该怎么做。看一下 guice src 表明我可能会叫错树,但我想我还是会四处打听......所以例如给定一个类型

和一些绑定,比如

然后我希望能够发现两个绑定,例如

有任何想法吗?

干杯马特

0 投票
2 回答
2375 浏览

generics - 在运行时使用 Guice 通过 Types 和 TypeLiterals 重构泛型类型

我有一些像这样的类型

如何重新创建 Foo 以便您可以在 Guice 中使用它?我坚持的一点是如何将 K 从 Bar 交叉引用到 Foo 的第二个参数化类型。

例如,

真的这似乎是错误的,因为它基本上是:

这与以下内容不同:

在后一种情况下,我知道K 是一致的类型。

有任何想法吗?

干杯

马特

0 投票
2 回答
463 浏览

java - 从哑数据对象到 Guice 创建的对象

我已经冒险并在我的最新项目中使用了 Guice。总体印象不错,但我遇到了一个我无法完全理解的问题。

背景:它是一个 Java6 应用程序,通过网络接受命令,解析这些命令,然后使用它们修改一些内部数据结构。这是我们公司生产的一些硬件的模拟器。我对内部数据结构所做的更改与命令对真实硬件的影响相匹配,因此数据结构的后续查询应该反映基于先前运行的命令的硬件状态。

我遇到的问题是命令对象需要访问那些内部数据结构。这些结构是由 Guice 创建的,因为它们根据被模拟的硬件的实际实例而有所不同。命令对象不是由 Guice 创建的,因为它们本质上是愚蠢的对象:它们接受文本字符串,解析它,然后调用数据结构上的方法。

我能让这一切正常工作的唯一方法是让这些命令对象由 Guice 创建并通过注入传递数据结构。感觉真的很笨重,并且完全膨胀了数据对象的构造函数。

我在这里错过了什么?

0 投票
1 回答
226 浏览

dependency-injection - Guice:根据所有者的注入方式改变注入的类型

我有一个基于 guice 的应用程序,现在需要给定类型的多个实例,因此我计划使用命名注释来消除依赖关系。但是,这种类型的依赖项也需要根据我得到的依赖项而有所不同。

为了说明让我们说我有

然后假设我需要 2 个单独的实例,所以我可能需要

在一个班级和

在另一个。

现在假设我在每种情况下都需要一个不同的侦听器(可能一个将某些内容写入数据库,另一个通过 JMS 或某个分布式缓存发送通知)。我该怎么做?我看不到我可以在 FooCacheListener 上粘贴一个名称,因为在一种情况下我需要一个不同的名称,而我这里只有一个地方。我能想到的唯一方法是继承 FooCache ,但这对我来说似乎是一种非常笨拙的方法。

干杯马特

0 投票
2 回答
8983 浏览

java - 获取相同类型的多个 guice 单例

你能得到 2 个相同底层类型的单例实例吗?

这在 spring 中显然是微不足道的,因为它基于您附加范围的命名实例,但我在 guice 中看不到关于将类型绑定到实现类的等价物。请注意,我不想绑定到实例,因为相关实例通过 guice 注入了其他依赖项。

0 投票
1 回答
411 浏览

java - 从 Waffle/Pico 转换为 Struts2/Guice

我的任务是将我自己在 Waffle 框架中使用 PicoContainer 作为 DI 机制开发的应用程序转换为我们的新“堆栈”,即使用 Struts2 作为框架,Guice 作为 DI 机制。关于如何以最小的痛苦做到这一点,同时从新框架和 DI 机制中获得最佳效果,有没有人有任何有用的指示?

提前谢谢了。

0 投票
5 回答
12182 浏览

java - Guice 2.0 的 ClassNotFoundException

下面的代码使用 Guice 2.0 生成错误。使用 Guice 1.0 一切都很好。JDK 是 Java 6 更新 15。

错误是:

可能是什么问题?

0 投票
3 回答
1832 浏览

spring - 谷歌杜松子酒?与弹簧一起使用?

我知道杜松子酒是 guice 的客户端。所以为了使用杜松子酒。它必须与guice一起使用吗?我想知道,它可以与弹簧一起使用吗?

0 投票
1 回答
1831 浏览

java - 如何使用 Guice 定义动态和即时绑定?

我正在尝试将 Guice 用于基于 TestNG 的测试框架。该框架分析测试类的依赖关系并提供它们,从而消除了在测试中构建它们的需要。

Guice 完全是关于注入的,我认为它非常适合该框架。但问题是在创建注入器后如何定义绑定?这是必需的,因为测试可能会覆盖绑定以用模拟替换默认实现。

除此之外,我想在某些情况下根据类名约定来猜测运行时的实现。听起来像 Just-in-type 绑定功能。但是我如何提供自己的即时绑定提供程序?

0 投票
1 回答
514 浏览

java - 通过 Guice 将对象注入 HttpSessionAttributeListener?

配置:Guice 1.0、Apache Tomcat 6.0

我目前正在使用以下方法将 Guice 模块中配置的对象手动注入到我的 servlet 中:

我怎样才能对 HttpSessionAttributeListener 做同样的事情(因为它没有任何生命周期方法)?