有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

使用CDI从producer为HashMap注入java歧义

我有以下课程:

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表单ConsumerClass的属性处获得错误注入点

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


共 (1) 个答案

  1. # 1 楼答案

    必须将MyItem标记为CDI限定符,否则此注释将无效

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

    我应该做这项工作