@Inject 注释不适用 显示错误?

@Inject Annotation not applicable Error shown?

我已经通过 Java Web->WebApplication->Enabled CDI

创建了新项目

我的第一个问题是: 为什么@Inject 注解显示错误?尽管添加了 bean.xml

injects documentation中所述,它适用于构造函数、方法和字段。不是 类.

问题2请参考这个other question

@Inject不适用于class。其中一个是在 inject documentation/javadoc.

中定义的

但最重要的是,您可以在 IDE 中打开 Inject class 并查看以下行:

@Target({ METHOD, CONSTRUCTOR, FIELD })

这样的行出现在 所有 Java 注释 上,它指示你可以在哪里放置这样的注释。在这种情况下,它位于方法、构造函数和字段上。

如果要在 class 级别上也使用注释,则 @Target 也会有 TYPE。因此它看起来像这样:

@Target({ METHOD, CONSTRUCTOR, FIELD, TYPE })