【问题标题】:@Inject Annotation not applicable Error shown?@Inject 注解不适用 显示错误?
【发布时间】:2018-04-13 11:45:18
【问题描述】:

我通过Java Web->WebApplication->Enabled CDI创建了新项目

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

【问题讨论】:

  • 请每个问题一个问题...
  • 一定要注明。

标签: jsf-2 cdi jsf-2.2 inject


【解决方案1】:

injects documentation中提到,它适用于构造函数、方法和字段。不是课程。

问题2,请参考这个other question

【讨论】:

    【解决方案2】:

    @Inject 不适用于类。一方面,这是在注入文档/javadoc 中定义的。

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

    @Target({ METHOD, CONSTRUCTOR, FIELD })
    

    所有 Java 注释 上都有这一行,它规定了可以放置此类注释的位置。在这种情况下,它位于方法、构造函数和字段上。

    如果还要在类级别上使用注释,@Target 也将在那里有TYPE。因此它看起来像这样:

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

    【讨论】:

    • 感谢您的回答
    猜你喜欢
    • 1970-01-01
    • 2013-05-15
    • 2017-01-27
    • 2010-10-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多