@Inject Аннотация неприменима Показана ошибка?

Я создал новый проект через Java Web->WebApplication->Enabled CDI

Мой первый вопрос: Почему аннотация @Inject показывает ошибку? хотя bean.xml добавил.

Внедрить исключение


person Rence Abishek    schedule 01.11.2017    source источник
comment
Один вопрос на вопрос, пожалуйста...   -  person Kukeltje    schedule 01.11.2017
comment
обязательно отметили на том же.   -  person Rence Abishek    schedule 01.11.2017


Ответы (2)


Как указано в документации по внедрению, это применимо к конструкторы, методы и поля. Не классы.

По вопросу 2 см. этот другой вопрос.

person Aurgho Bhattacharjee    schedule 01.11.2017

@Inject не применимо к классу. Во-первых, это определено в документации по вставке/javadoc.

Но самое главное, вы можете открыть класс Inject в своей IDE и увидеть следующую строку:

@Target({ METHOD, CONSTRUCTOR, FIELD })

Такая строка присутствует во всех аннотациях Java и указывает, где вы можете поместить такую ​​аннотацию. В данном случае это метод, конструктор и поле.

Если бы аннотация также использовалась на уровне класса, @Target также имела бы там TYPE. Следовательно, это будет выглядеть так:

@Target({ METHOD, CONSTRUCTOR, FIELD, TYPE })
person Siliarus    schedule 01.11.2017
comment
Спасибо за ответ - person Rence Abishek; 01.11.2017