Я создал новый проект через Java Web
->WebApplication
->Enabled CDI
Мой первый вопрос: Почему аннотация @Inject показывает ошибку? хотя bean.xml
добавил.
Я создал новый проект через Java Web
->WebApplication
->Enabled CDI
Мой первый вопрос: Почему аннотация @Inject показывает ошибку? хотя bean.xml
добавил.
Как указано в документации по внедрению, это применимо к конструкторы, методы и поля. Не классы.
По вопросу 2 см. этот другой вопрос.
@Inject
не применимо к классу. Во-первых, это определено в документации по вставке/javadoc.
Но самое главное, вы можете открыть класс Inject
в своей IDE и увидеть следующую строку:
@Target({ METHOD, CONSTRUCTOR, FIELD })
Такая строка присутствует во всех аннотациях Java и указывает, где вы можете поместить такую аннотацию. В данном случае это метод, конструктор и поле.
Если бы аннотация также использовалась на уровне класса, @Target
также имела бы там TYPE
. Следовательно, это будет выглядеть так:
@Target({ METHOD, CONSTRUCTOR, FIELD, TYPE })