【发布时间】:2016-07-26 03:03:58
【问题描述】:
在这里,一个类是另一个类的子类。因此,@Typed 注释用于防止@Inject 歧义。
@Dependent
public class UserScope extends Scope {}
@Dependent
@Typed(UserScopeAllowIdEquals.class) // Restrict bean type.
public class UserScopeAllowIdEquals extends UserScope {}
以下用法会导致 Intellij 中出现检查警告:
public class A {
@Inject UserScope userScope;
}
不明确的依赖:有多个 bean 匹配 注入点
但是,应用程序编译并运行,容器没有将其视为定义错误。是不是写的方式有问题?如果this answer to a different question 是正确的,我怀疑不会表明只有一个bean 的bean 类型包含超类。
注意:正如预期的那样,以下用法不会导致 Intellij 检查警告。
public class B {
@Inject UserScopeAllowIdEquals usaie;
}
【问题讨论】:
标签: java intellij-idea cdi weld