问题标签 [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.
jersey-2.0 - 在基于 Jersey 的应用程序中使用 Google Guice for DI 在 weblogic 的服务器启动时出现 WELD 异常
我使用 Weblogic 12b 作为应用服务器。我的应用程序在我的项目中使用带有 Guice3 的 Jersey 2.5.1。我有一个从 org.glassfish.jersey.server.ResourceConfig 派生的名为 Application 的类。在服务器启动时,我收到如下错误:
似乎它正在用 WELD 代替 DI 的 google Guice。
我在业务层遇到了同样的问题,其中 EJB 类由 Java 类组成,它们是使用 @Inject 注入的。
我什至尝试将他的导入 @Inject 更改为谷歌注入,但异常已更改但未解决。
我尝试在 web-inf 中使用 beans.xml
java - 泛型类型的 Guice 绑定不适用于“.class”
我正在尝试使用 Guice 绑定一个通用类依赖项
我正在尝试创建一个Myclass<List<Integer>>
,但绑定对我来说失败了
但这给了我一个编译错误,因为List<Integer>.class
它是无效的。没有它我会得到一个运行时异常,因为 Guice 无法绑定泛型。
有人可以帮我弄清楚如何解决这个问题吗?我需要让绑定工作。
java - Guice - 如何在扩展抽象模块的类中注入依赖项 - Java
我必须从EnvironmentModule触发TestDriver.startPoller()因为 EnvironmentModule 是从 Abstractmodule 扩展的我不确定如何在EnvironmentModule中注入依赖关系是否可能?如果不是,我如何 从EnvironmentModule触发TestDriver.startPoller()
环境模块
预期的 :
TestDriver.startPoller();
// 这工作正常
当前结果
TestDriver.startPoller();
// thorwing 空指针异常,因为它没有被注入并且TestDriver为空
java - Google Guice 无法为每个测试覆盖我的哈希图
我最近切换到 Google Guice,现在我的结果被每个测试覆盖,而不是添加所有测试。我正在使用哈希图来收集每个测试的通过和失败,但不是为每个测试收集数据,而是覆盖前一个测试。我在我的构造函数中使用我的注入。使用 Selenium、Cucumber、Java 和 Eclipse。
抽象驱动程序
司机
驱动程序基地
页面库
页面对象
脚步
结果
收集通过或失败并将它们存储在数组中的方法。hashmap 字段是PlanResult。
ArrayList> PlanResult = new ArrayList<>();
也试过@Singleton
java - Guice Assisted:没有使用 @com.google.inject.assistedinject.Assisted(value=prefix) 注释的 java.lang.String 的实现被绑定
我已经这样做了一百万次,但现在它不起作用,我不知道为什么!
我的界面定义了作家的合同,例如:
具体实施:
现在工厂:
最后是我的配置:
在启动时进行所有这些操作,它会引发一个异常,即:
没有绑定带有 @com.google.inject.assistedinject.Assisted(value=prefix) 注释的 java.lang.String 的实现。 在daemons.filerecorder.WriterFactory.textWriter
中为 daemons.filerecorder.TextFileWriter.(TextFileWriter.java:38) 的第二个参数定位带有 @com.google.inject.assistedinject.Assisted(value=prefix) 注释的 java.lang.String
(WriterFactory.java:1) at com.google.inject.assistedinject.FactoryProvider2.initialize(FactoryProvider2.java:666) at com.google.inject.assistedinject.FactoryModuleBuilder$1.configure(FactoryModuleBuilder.java:335)(通过模块: com.google.inject.util.Modules$OverrideModule -> modules.GuiceConfig -> com.google.inject.assistedinject.FactoryModuleBuilder$1)没有绑定带有 @com.google.inject.assistedinject.Assisted(value=store) 注释的 java.lang.String 的实现。 同时在 daemons.filerecorder.WriterFactory.textWriter
中为 daemons.filerecorder.TextFileWriter.(TextFileWriter.java:38) 的第一个参数定位带有 @com.google.inject.assistedinject.Assisted(value=store) 注释的 java.lang.String
(WriterFactory.java:1) at com.google.inject.assistedinject.FactoryProvider2.initialize(FactoryProvider2.java:666) at com.google.inject.assistedinject.FactoryModuleBuilder$1.configure(FactoryModuleBuilder.java:335)(通过模块: com.google.inject.util.Modules$OverrideModule -> modules.GuiceConfig -> com.google.inject.assistedinject.FactoryModuleBuilder$1)已在 daemons.filerecorder.WriterFactory.textWriter() 中配置了与带有 @com.google.inject.assistedinject.Assisted(value=) 注释的 java.lang.String 的绑定。在 daemons.filerecorder.WriterFactory.textWriter(WriterFactory.java:1)
在 com.google.inject.assistedinject.FactoryProvider2.initialize(FactoryProvider2.java:666) 在 com.google.inject.assistedinject.FactoryModuleBuilder$1.configure(FactoryModuleBuilder. java:335)(通过模块:com.google.inject.util.Modules$OverrideModule -> modules.GuiceConfig -> com.google.inject.assistedinject.FactoryModuleBuilder$1)
有什么想法可以完成这项工作吗?
提前致谢。
java - 如何为具有参数化构造函数的类获取 Guice 注入器
我现在编写了以下课程和测试代码,并且工作正常。
到这里一切正常,测试通过。现在我想在 AppleRegistryClass 中引入新的依赖项这里是变化
现在,当我为新更改编写测试时,它会超时测试代码:
有人可以帮我编写 AppleRegistry 的测试类吗?提前致谢!
java - 有没有办法绑定供应商在谷歌吉斯?
我试着像下面那样做
但我收到了这个错误。
没有找到适合 toProvider(com.google.inject.Provider<java.util.function.Supplier>) 的方法
java - 使用 guice 绑定一个番石榴供应商
我想做这样的绑定,
提供者由外部函数返回,因此,在 内部toProvider()
,我调用该函数并返回 Provider <Supplier<TestClass>>
。
供应商来自番石榴,这样做的原因是,有一个与 TestClass 关联的文件,我需要读取该文件并将这些值分配给 TestClass 的各个字段。
并且该文件在运行时更改,因此我需要一种方法来刷新存储在 TestClass 中的值。待办事项我使用的番石榴供应商。Guava 供应商有一个 get 方法,当调用该 get 方法时,如果我用来memoizeWithExpiration()
创建实例,那么它会检查 TTL 值,如果它通过,那么我可以指定一个 lambda 函数来读取文件并分配值。
所以我需要Supplier<TestClass>
像这样注入
但是因为与 Guice 进行绑定让我感到困惑。
java - 将可变参数传递给 Guice @Provides 方法
我有一个 Guice 模块,它有一个 @Provides 方法,该方法接受 2 个参数并返回接口的两个实现之一
我已经看到了这个几乎与我的问题相似的问题 - 将参数传递给 Guice @Provides 方法。但是在这里,这个问题的 OP 想要将常量 String 变量传递给 @Provides 方法,而在我的情况下,我想传递一个将在运行时生成的字符串。如何解决这个问题?任何形式的帮助将不胜感激。
谢谢
guice - InjectorImpl Guice 中的线程争用
我们在服务中使用 guice 进行 DI。显然,对于任何非单例注入,guice 正在调用以下具有同步锁的方法。对非单例对象是否有任何特定要求也应该通过同步锁?
Guice 版本:4.0