如何在beans.xml中指定@Alternative生成器方法?

时间:2014-02-03 08:17:11

标签: java java-ee dependency-injection cdi weld

说我有:

public interface Foo {...}

public class AltProducer {
  private Foo altFoo;

  @Produces @Alternative
  public Foo getAltFoo() { return altFoo; }
}

我需要在beans.xml中放置什么才能调用我的AltProducer的@Produces方法,而不是注入Bar?

2 个答案:

答案 0 :(得分:13)

找到它 - 你可以指定整个生产者类作为替代。

@Alternative
public class AltProducer { ... }

beans.xml中:

<beans>
  <alternatives>
    <class>com.package.AltProducer</class>
  </alternatives>
</beans>

答案 1 :(得分:0)

您必须在src / main / resources / META-INF中创建一个bean.xml文件,然后

<span class="something">$291.27</span>
<br>
<span class="something">$300.17</span>

并且不要忘记用@alternative注释您的班级 您可以查看有关cdi https://www.baeldung.com/java-ee-cdi

的这篇文章