Предисловие
В настоящее время все больше и больше архитектурных дизайнов используют аннотации, такие как Spring3.0, Struts2 и другие рамки. Давайте сначала посмотрим на определение аннотации. Ниже приведен код, в котором используется аннотация JDK 5 @Target:
@Target ({elementtype.method})@hareveration (hestentionpolicy.runtime)@eneshited@doctipmedpublic @interface asynlog {}1. Использование @Target
java.lang.annotation.target
Используется для установки объема использования аннотаций
java.lang.annotation.elementtype
Target Определяет прицелы аннотации для использования коллекций перечисления
2. Использование ElementType
| Получите значение | Аннотация область применения |
| Метод | Можно использовать в методах |
| ТИП | Можно использовать на классах или интерфейсах |
| Annotation_type | Можно использовать на типах аннотаций (типы изменены @Interface) |
| КОНСТРУКТОР | Можно использовать в методах строительства |
| ПОЛЕ | Можно использовать на домене |
| Local_variable | Можно использовать на локальных переменных |
| УПАКОВКА | Используется для записи информации о пакете файлов Java |
| Параметр | Можно использовать по параметрам |
Вот основной момент: electytype. УПАКОВКА. Он не используется в общих классах, а в фиксированном пакете файлов info.java. Здесь следует подчеркнуть, что именование должно быть «Info». Поскольку Package-info.java не является юридическим классом, использование Eclipse для создания класса позволит ему быть незаконным, поэтому вам необходимо создать пакет info.java на пути создания файла.
Например, для определения пакета диапазона можно использовать:
@Target ({elementType.package, elementtype.method})@hareveration (armentpolicy.runtime)@eneshited@doccordedpublic @interface asynlog {}Затем создайте файл: package info.java, с контентом следующим образом:
Кода -копия выглядит следующим образом:
@Asynlog
пакет org.my.commons.logs.annotation;
Keynote: аннотации могут использоваться только в диапазоне, установленном ElementType, в противном случае ошибка будет составлена. Например: область применения содержит только elementtype.method, что означает, что аннотация может использоваться только в методе класса, и исключение будет составлено вне объема использования.