Vorwort
Gegenwärtig verwenden immer mehr architektonische Designs Anmerkungen wie Spring3.0, Struts2 und andere Rahmenbedingungen. Schauen wir uns zunächst die Definition der Annotation an. Im Folgenden ist ein Code, der JDK 5 Annotation @Target verwendet:
@Target ({Elementtype.method})@retention (retentionPolicy.runtime)@erben@documentedPublic @Interface asynlog {}1. Verwendung von @target
java.lang.annotation.target
Wird verwendet, um den Umfang der Annotationsnutzung festzulegen
java.lang.annotation.elementtype
Ziel gibt Annotationsbereiche für die Verwendung von Aufzählungssammlungen an
2. Verwendung von Elementtype
| Erhalten Sie den Wert | Annotationsbereich |
| VERFAHREN | Kann in Methoden verwendet werden |
| TYP | Kann an Klassen oder Schnittstellen verwendet werden |
| Annotation_Type | Kann bei Annotationstypen verwendet werden (von @Interface geänderte Typen) |
| Konstruktor | Kann in Baumethoden verwendet werden |
| FELD | Kann auf der Domain verwendet werden |
| Local_variable | Kann für lokale Variablen verwendet werden |
| PAKET | Wird verwendet, um Paketinformationen von Java -Dateien aufzuzeichnen |
| PARAMETER | Kann für Parameter verwendet werden |
Hier ist ein Highlight: Elementtype. PAKET. Es wird nicht in allgemeinen Klassen verwendet, sondern im festen Dateipaket-info.java. Hier sollte hervorgehoben werden, dass die Benennung "Paketinfo" sein muss. Da Package-info.java keine juristische Klasse ist und Eclipse zum Erstellen einer Klasse dazu veranlasst, dass sie illegal ist, müssen Sie Paket-info.java zum Erstellen einer Datei erstellen.
Zum Beispiel kann ein Bereichspaket verwendet werden, um zu definieren:
@Target ({Elementtype.package, elementtype.method})@retention (retentionpolicy.runtime)@erbt@documentedPublic @Interface asynlog {}Erstellen Sie dann die Datei: package-info.java, mit dem Inhalt wie folgt:
Die Codekopie lautet wie folgt:
@ASynlog
Paket org.my.commons.logs.Annotation;
Keynote: Annotationen können nur innerhalb des von ElementType festgelegten Bereichs verwendet werden, andernfalls wird ein Fehler kompiliert. Zum Beispiel: Der Bereich enthält nur Elementtype.methode, was bedeutet, dass die Annotation nur für die Klassenmethode verwendet werden kann und die Ausnahme außerhalb des Gebrauchsbereichs zusammengestellt wird.