【发布时间】:2016-10-24 18:49:10
【问题描述】:
我在一个独立的 java 项目中使用 WELD SE,在我开始使用生产者之前它似乎工作正常。
生产者方法有效 - 容器使用它,但从不注入生产的 bean 的内部依赖关系。当我删除生产者时,它可以正常工作。即使在规范和 Google 上进行了长时间搜索后,我也找不到原因。
生产者示例:
@ApplicationScoped
public class LaminaValidadorProducer {
private static final String XSD_PATH = getConfig("processador.xsd.path");
private static final Map<VersaoLamina,String> XSD_PER_VERSION = new HashMap<>();
static {
XSD_PER_VERSION.put(VersaoLamina.V1, getConfig("processador.lamina.xsd.file"));
XSD_PER_VERSION.put(VersaoLamina.V2, getConfig("processador.laminav2.xsd.file"));
}
@Produces
public LaminaValidador buildValidador() {
return new LaminaValidador(XSD_PATH, XSD_PER_VERSION);
}
}
LaminaValidador 被正常注入,但它的 INNER 属性(用@Inject 标记)没有被注入。该项目有一个 beans.xml,其中 bean-discovery-mode="all"。
关于发生了什么的任何线索?
【问题讨论】:
标签: java dependency-injection cdi weld