gpt4 book ai didi

java - 使用 CDI 的生产者对 HashMap 的注入(inject)不明确

转载 作者:行者123 更新时间:2023-11-29 07:54:35 26 4
gpt4 key购买 nike

我有以下类(class):

public class MyMap extends HashMap {
public MyMap () { }
some more methods...
}


@SessionScoped
public ProducerClass implements Serializable {
@Produces @MyItem HashMap<A,B> produceItems () { }
}

@Named
public ConsumerClass {
@Inject @MyItem HashMap<A,B> property;
}

@Retention(RUNTIME)
public @interface MyItem {
}

我在 ConsumerClass 的 MyMap 和 HashMap 的属性处得到错误的不明确注入(inject)点。

怎么可能?我认为注入(inject)类是通过 @MyItem 注释给出的唯一类。

最佳答案

您必须将 MyItem 标记为 CDI Qualifier,否则此注释将无用。

@Qualifier
@Retention(RUNTIME)
public @interface MyItem {
}

应该完成这项工作。

关于java - 使用 CDI 的生产者对 HashMap 的注入(inject)不明确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18751189/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com