问题标签 [guice-3]

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 回答
683 浏览

java - 这个 Guice 示例中发生了什么?

我有以下代码示例。

我预计输出是:

相反,它是:

似乎实例化行(如X x1 = inj.getInstance(X.class);)执行该run()方法。这是为什么?

0 投票
4 回答
2096 浏览

java - 如何对 Jersey + Guice:ServiceLocator 进行单元测试?

通过使用 HK2,guice-bridge我设法将 Jersey 2.x 与 Guice 3.x 集成。

但是现在我的泽西测试不再起作用了。

那么我在哪里可以得到ServiceLocator我的单元测试呢?

0 投票
1 回答
349 浏览

java - 如何使 Guice MapBinder 真正类型安全?

这是我的 StatusMapper 界面的样子:

这是我的 MapBinder:

这就是这些 ExceptionMappers 之一的样子:(简化)

到目前为止这工作正常,但我必须注意 IOException 绑定到 IOExceptionMapper。如果我绑定 exceptionBinder.addBinding(IOException.class).to(SQLExceptionMapper.class);类型检查器(编译器)不会抱怨,但它会破坏整个应用程序 - 有什么提示吗?

[更新]根据我创建的The111的回答ExceptionBinder

这就是我的 Guice-Module 的样子:

0 投票
1 回答
80 浏览

junit - Guice 注入泄漏到其他测试中

我使用 Guice 为VocabularyAPI我的一个单元测试实例化一个对象unitTest1()。但是,对于另一个测试 ( unitTest2()),我只是使用 mockito 的@Mock注释来模拟同一类的实例 - VocabularyAPI

我注意到,当我只运行时unitTest2()- 我的 mockito 的模拟设置VocabularyAPI配置正确。但是,当我运行整个测试套件(unitTest1()unitTest2())时,两个测试都使用注入器的设置进行实例化。

如何将注入对象的范围限制为仅在它被注入的测试内部?我希望能够将注入的对象unitTest1()和模拟对象用于unitTest2().

0 投票
1 回答
379 浏览

java - Android 中的 Guice 不使用 Roboguice,不错的选择?

我一直在使用 Roboguice,但是当我在 github 上看到源代码时,它有很多我通常不使用或不需要它的不必要的东西,所以我决定开始只使用 Guice。唯一的缺点是我需要自己注入 Android Context 和配置,所以我最终这样做了:

然后在我扩展 AbstractModule 的类中:

这是一个好方法吗?现在我只需要使用上下文,比如说一个会话管理器,它需要上下文来创建一个 sharedPreference 实例并使用它。

最后:当我只想注入我的对象而不是任何与 Android 相关的东西,只有上下文时,用 Guice 替换 Roboguice 是不是一个好方法?并使用比 Roboguice 更轻量级和更少依赖的东西。毕竟 Dagger 做了类似的事情,对吧?

0 投票
1 回答
292 浏览

java - 在 Guice 中绑定一个二维数组

我必须创建一个ModelWeights使用 Guice 依赖注入的对象。如何double[][]在运行时使用 Guice 依赖注入绑定数组?

我在尝试几种方法时得到了这个:

0 投票
0 回答
51 浏览

guice - 更新 @Named("someproperty.key") 运行时

我正在使用Guice 3.0。我使用Names.bindProperties()绑定属性文件键和值。但是,我的要求是,在运行时,如果我更改命名键的属性值,它应该通过调度程序或以预定义间隔运行的某个作业自动绑定。那可能吗?我找不到任何相同的帖子。任何帮助表示赞赏。

0 投票
1 回答
7164 浏览

java - 当我尝试启动码头时,为什么 lambda 表达式会破坏 guice 错误处理?

我在尝试启动码头时遇到以下问题,我得到以下异常:

从我读到的问题看来,lambdas 打破了 guice 错误处理,但人们仍然没有想出解决方案。如果有人知道这是关于什么的,请发表评论!

0 投票
1 回答
20307 浏览

java - 静态变量中的guice注入

我对guice注射有疑问。是否可以将@named 变量值注入静态变量?

我试过了

并尝试将此值注入静态变量,例如

但是id返回值为 null,当我删除静态修饰符时,id 的值为 1。

这里到底发生了什么?

0 投票
2 回答
793 浏览

spring - Guice如何注入3个具有不同依赖关系的相同类型的实例?

我正在使用 Guice 来管理我的班级依赖性。我有一个 LogicHandler 类,它依赖于几个 Components 类。

我将有 3 个 LoigcHanlder 实例。使用哪个实例将在运行时决定。每个实例都有不同的组件实现,所有实现都是预定义的。

如果我使用的是 spring DI,xml 配置将如下所示:

注意:所有处理程序都由 DefaultHanlder 实现。

使用哪个处理程序实例基于某些参数。