Einführung in Java-Annotationen
Annotationsbasierte Java-Entwicklung ist zweifellos der neueste Entwicklungstrend. [Anmerkung des Übersetzers: Dies ist ein Artikel aus dem Jahr 2005. Im Jahr 2014 besteht kein Zweifel daran, dass die Verwendung von Annotationen eine gute Lösung für die kollaborative Entwicklung mehrerer Personen geworden ist Die gegenseitige Beeinflussung und Kopplung kann sehr gering sein.
Die annotationsbasierte Entwicklung befreit Java-Entwickler von umständlichen und umständlichen Konfigurationsdateien. Annotationen wurden erstmals in Java 5.0 eingeführt. Annotationen sind eine der Funktionen dieser JDK-Version und übertragen die Arbeit von Programmierern zum Schreiben von Java-Beispiel-API-Dateien auf den Compiler . Der Code und die Dokumentation sind einfacher zu warten, wenn keine separate Quellcode- und API-Dokumentation mehr gepflegt wird. Die generierten Codebeispiele enthalten auch weniger Fehler.
Java-Anmerkungen sind eine der Hauptfunktionen in JDK 5 und machen die Entwicklung einfacher und einfacher. Anmerkungen sind wie eine Art Metainformation (Meta, die als zusätzliche Informationen für spezielle Programme verstanden werden kann) und können dem In-Code hinzugefügt werden Es kann in Paketdeklarationen, Typdeklarationen, Konstruktoren, Methoden, Feldern, Parametern und Variablen verwendet werden. Sie bieten eine effiziente Möglichkeit anzugeben, ob eine Methode von anderen Methoden abhängt, vollständig ist, ob die Klasse auf andere Klassen verweist usw.
Zitat aus der offiziellen Website von Oracle: „Durch die annotationsbasierte Entwicklung können wir in vielen Fällen vermeiden, eine separate API-Dokumentation schreiben zu müssen. Wir müssen lediglich Tools aktivieren, um Annotationen aus dem Quellcode zu generieren.“ Ein deklarativer Programmierstil Programmierer sagen: Was zu tun ist, lassen Sie das Tool es einfach gemäß dem Code tun.
Einfach ausgedrückt sind Annotationen ein Mechanismus, der Meta-Tags mit Programmelementen verknüpft und es dem Compiler oder der JVM ermöglicht, Programmverhalten aus annotierten Elementen zu extrahieren und bei Bedarf voneinander abhängigen Code zu generieren.
Im ersten Teil dieser Artikelserie werde ich einige grundlegende Java-Annotationen, ihre Vorteile und einige Anwendungsbeispiele vorstellen.
Grundlagen der Java-Annotation
Sie müssen zwei Dinge verstehen. Das eine ist die „Annotation“ (Annotation, ähnlich einem neuen Objekt) selbst und das andere ist der „Annotationstyp“ (Annotation ist ein Meta-Tag). Wird in Ihrem Code verwendet. Der Annotationstyp wird zum Definieren von Annotationen verwendet. Sie verwenden ihn, wenn Sie Ihre eigenen Annotationen erstellen möchten. Typ ist der tatsächlich verwendete konstruierte Typ, und Annotation ist nur eine spezifische Verwendung dieses Typs.
Beim Definieren eines Anmerkungstyps müssen Sie ein „at“ (@, manche Menschen in China sprechen es als Kreis aus), gefolgt von der Schlüsselwortschnittstelle und dem Namen der Anmerkung verwenden Schreiben Sie zunächst das „at“-Symbol (@) und anschließend den Anmerkungstyp. Dies ist die einfachste Form der Anmerkung. Darüber hinaus können Sie bei der Verwendung von Anmerkungen Klammern nach dem Namen hinzufügen, um die erforderlichen Parameter einzuschließen Als nächstes werden Sie Beispiele dafür sehen:
Beispiel für die Definition des Annotationstyps: (Annotationstyp, Annotationstyp, ähnlich wie beim Definieren einer Klasse)
Kopieren Sie den Codecode wie folgt:
public @interface MyAnnotation {
String doSomething();
}
Verwendung von Annotationen (Annotationsinstanzen) im normalen Code
Kopieren Sie den Codecode wie folgt:
@MyAnnotation (doSomething="Was zu tun ist")
public void mymethod() {
....
}
Java-Annotationstypen (Annotationstypen)
Es gibt drei Arten von Anmerkungen:
Marker: Anmerkungen vom Typ Marker haben keine Elemente, nur einen Namen.
Definition:
Kopieren Sie den Codecode wie folgt:
// Diese Art von Anmerkung ist wie ein Etikett ohne Status
// Ein bisschen wie die Schnittstelle Serialisierbar ohne Methodendefinition
public @interface AMarkerAnnotation {
}
verwenden:
Kopieren Sie den Codecode wie folgt:
@AMarkerAnnotation
public void mymethod() {
....
}
Einzelelementanmerkungen: Einzelelement- oder Einzelwertanmerkungen enthalten nur einen Datenwert. Sie können als Daten=Wert in Klammern ausgedrückt werden oder es kann nur ein Wert übergeben werden (einfache Schreibmethode).
Definition:
Kopieren Sie den Codecode wie folgt:
öffentliche @interface SingleElementAnnotation
{
String doSomething();
}
verwenden:
Kopieren Sie den Codecode wie folgt:
@SingleElementAnnotation („Sie können nur Werte des entsprechenden Typs übergeben“)
public void mymethod() {
....
}
Vollwertige oder mehrwertige Annotationen: Vollwertige Typanmerkungen verfügen über mehrere Datenelemente. Daher müssen Parameter für jedes Element im vollständigen Syntaxformat „Daten=Wert“ übergeben werden.
Definition:
Kopieren Sie den Codecode wie folgt:
public @interface FullValueAnnotation {
String doSomething();
int count;
String date();
}
verwenden:
Kopieren Sie den Codecode wie folgt:
@FullValueAnnotation (doSomething="Parameterwert", count=1,
Datum="09.09.2005")
public void mymethod() {
....
}
Überlegungen zum Definieren von Java-Annotationstypen
Was Sie beim Definieren von Anmerkungstypen beachten sollten:
1. Die Annotationsdeklaration sollte mit einem at-Symbol (@) beginnen, gefolgt von einem Schnittstellenschlüsselwort und dem Namen der Annotation.
2. Die Methodendeklaration in der Annotation akzeptiert keine Parameter (sie sieht nur wie eine Methode aus, ist aber im Wesentlichen eine Attributdomäne).
3. Die Methodendeklaration in der Annotation darf keine Throws-Klausel enthalten.
4. Die Methodenrückgabetypen in den Anmerkungen können nur die folgenden sein:
@primitives (6 primitive Datentypen, int, byte usw.)
@String(string)
@Class(Klasse, z. B. String.class)
@enum(Aufzählung)
@array der oben genannten Typen (Array, Array-Elemente können nur einer der oben genannten Typen sein)
Java-Annotationstypen
In JDK5 gibt es zwei Arten von Anmerkungen:
1. Einfache Annotationen (einfache Annotationstypen): Dies sind die von Tiger bereitgestellten Grundtypen (Tiger ist der Codename von JDK1.5?) und können nur zum Annotieren von gewöhnlichem Code verwendet werden. Sie können nicht zum Erstellen eines anderen benutzerdefinierten Annotationstyps verwendet werden .
2.Meta-Anmerkungen: Speziell entwickelt, um Deklarationen anderer Annotationstypen zu kommentieren. Einfach ausgedrückt werden sie Annotationen von Annotationen genannt.