Java 使用CDI从生产者处为HashMap注入歧义
我有以下课程:Java 使用CDI从生产者处为HashMap注入歧义,java,cdi,producer,Java,Cdi,Producer,我有以下课程: public class MyMap extends HashMap { public MyMap () { } some more methods... } @SessionScoped public ProducerClass implements Serializable { @Produces @MyItem HashMap<A,B> produceItems () { } } @Named public ConsumerClass
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 {
}
公共类MyMap扩展了HashMap{
公共MyMap(){}
还有一些方法。。。
}
@会议范围
public ProducerClass实现了可序列化{
@生成@MyItem HashMap produceItems(){}
}
@命名
公共消费类{
@注入@MyItem HashMap属性;
}
@保留(运行时)
public@interface-MyItem{
}
我在MyMap和HashMap表单ConsumerClass的属性处获得错误注入点
怎么可能呢?我认为注入类是通过@MyItem注释给出的唯一类 必须将MyItem标记为CDI限定符,否则此注释将无效
@Qualifier
@Retention(RUNTIME)
public @interface MyItem {
}
应该完成这项工作。您必须将MyItem标记为CDI限定符,否则此注释将无效
@Qualifier
@Retention(RUNTIME)
public @interface MyItem {
}
我应该做这项工作