Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/366.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 JBoss Weld:为测试注入不同的实现_Java_Jboss Weld - Fatal编程技术网

Java JBoss Weld:为测试注入不同的实现

Java JBoss Weld:为测试注入不同的实现,java,jboss-weld,Java,Jboss Weld,我希望根据上下文在bean中注入不同的实现。情况如下: interface A{} class AImplForTest implements A{} class AImplForProd implements A{} class B{ @Inject A a; } 在测试上下文中,我希望注入AImplForTest,而在生产上下文中,这应该是AImplForProd。B在这两个上下文中是同一类。有可能吗?在实践中从未使用过,但从理论上讲,您可以使用@替代注释 从: 替代方案是其

我希望根据上下文在bean中注入不同的实现。情况如下:

interface A{}

class AImplForTest implements A{}

class AImplForProd implements A{}

class B{
    @Inject A a;
}

在测试上下文中,我希望注入AImplForTest,而在生产上下文中,这应该是AImplForProd。B在这两个上下文中是同一类。有可能吗?

在实践中从未使用过,但从理论上讲,您可以使用
@替代注释

从:

替代方案是其实现特定于 特定客户端模块或部署场景。。。默认情况下, @备用bean被禁用。我们需要在这方面启用替代方案 bean存档的beans.xml描述符,使其可用于 实例化和注入。此激活仅适用于bean 在那个档案里


从未在实践中使用过,但从理论上讲,您可以使用
@备选注释

从:

替代方案是其实现特定于 特定客户端模块或部署场景。。。默认情况下, @备用bean被禁用。我们需要在这方面启用替代方案 bean存档的beans.xml描述符,使其可用于 实例化和注入。此激活仅适用于bean 在那个档案里


您可以通过使用@Named注释定义每个实现类,然后通过@inject@Named(“ForTest”)注入所需的类来实现这一点;如果您还没有找到任何解决方案,希望这对您有所帮助

interface A{}

@Named("ForTest")
class AImplForTest implements A{}

@Named("ForProd")
class AImplForProd implements A{}

class B{
   @Inject @Named("ForTest") A a;
}

您可以通过使用@Named注释定义每个实现类,然后通过@inject@Named(“ForTest”)注入所需的类来实现这一点;如果您还没有找到任何解决方案,希望这对您有所帮助

interface A{}

@Named("ForTest")
class AImplForTest implements A{}

@Named("ForProd")
class AImplForProd implements A{}

class B{
   @Inject @Named("ForTest") A a;
}

这是我第一次尝试的,但我必须在一个项目中找到我的源代码,在另一个项目中找到测试(和AImplForTest)。但“归档”一词是什么意思?也许我真的不明白它的真正含义…这是我第一次尝试的,但我必须在一个项目中找到我的来源,在另一个项目中找到测试(和AImplForTest)。但“归档”一词是什么意思?也许我真的不明白它到底意味着什么。。。