Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/368.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 黄瓜guice-使用注射器_Java_Guice_Cucumber Jvm - Fatal编程技术网

Java 黄瓜guice-使用注射器

Java 黄瓜guice-使用注射器,java,guice,cucumber-jvm,Java,Guice,Cucumber Jvm,我是Cumber jvm的新手(我从一个Cumber、Ruby的背景回到Java已有几年了) 使用cucumber guice,我成功地绑定了依赖项并将属性加载到CucumberModule中,因此,@Inject注释按预期触发 关于我的问题,在提供的GuiceFactory中,我可以看到以下代码: public <T> T More ...getInstance(Class<T> clazz) { return injector.getInstance(claz

我是Cumber jvm的新手(我从一个Cumber、Ruby的背景回到Java已有几年了)

使用cucumber guice,我成功地绑定了依赖项并将属性加载到
CucumberModule
中,因此,
@Inject
注释按预期触发

关于我的问题,在提供的
GuiceFactory
中,我可以看到以下代码:

public <T> T More ...getInstance(Class<T> clazz) {
    return injector.getInstance(clazz);
}
但xxxx是什么


据我所知,
GuiceFactory
是cucumber guice在运行测试时加载的,但我不知道是什么保存了对它的引用。或者我的看法完全错误。

您不能手动创建实例。工厂使用guice创建所有步骤实例

无论何时在Step类中使用“@Inject”,guice都会自动处理注入,而不会干扰注入器。 您可以通过在cucumber-guice.properties文件中提供您不想加载的模块的FQN来配置注入

有用链接:


从未尝试过Cucumber Guice,但现在我肯定会。一点具有这些特性的DI将非常有用。不管怎样,您是否尝试过简单地注入
GuiceFactory
注入器
?谢谢-我将试一试:)非常感谢-我认为我的想法是错误的。我将尝试并更新它——我已经被指出了正确的方向,我将更新问题,说明为什么我尝试做一些不同的事情,但意识到我尝试做的是愚蠢的(在一个对象的构造函数中,我尝试使用一个getinstance基本上替换了一个新的myService)我需要做的是@Inject!。非常感谢你,我能帮上忙。。。说到(C)DI,我最喜欢的规则是:永远不要使用“new”:-)
XXXX.getInstance(myService.class);