Annotations

Geschrieben von Michael Biesmann & Fabian Markert
View Comments

1. Einleitung
2. Was sind Annotations?
3. Wie sehen Annotations aus?
4. Für was kann man Annotations verwenden?
5. Welche Einschränkungen haben Annotations?
6. Welche Arten von Annotations gibt es?
6.1. Beispiele für Annotations
6.1.1. Beispiel ohne Parameter (Marker-Annotation):
6.1.2. Beispiel mit einem Parameter:
6.1.3. Beispiel mit mehreren Parametern:
7. An welchen Elementen kann man Annotations definieren?
7.1. Beispiele dafür:
7.1.1. Klassen-Annotation:
7.1.2. Methoden-Annotation:
7.1.3. Feld-Annotation:
7.1.4. Parameter-Annotation:

1. Einleitung

Wir möchten an dieser Stelle etwas über Annotations schreiben. Dieser Blogpost soll als erster von mehreren die Grundlage für unser späteres Hauptthema schaffen. Die Fragestellungen, denen wir uns hier stellen, sind:

Teil 2 Teil 3

2. Was sind Annotations?

Annotations sind Metadaten, die dem Quellcode hinzugefügt werden können. Diese Möglichkeit besteht bei Java seit der Version 1.5 und wurde zum ersten mal im JSR 175 beschrieben. Mit der Java Version 1.6 wurden Annotations weiter formalisiert durch die JSR's 250 und 269.


3. Wie sehen Annotations aus?

Das @ vor dem Identifier „interface“ zeigt hier an, dass es sich um eine Annotation-Deklaration handelt und nicht um ein Interface.


4. Für was kann man Annotations verwenden?

Annotations können den Compiler während des Compilevorgangs unterstützen oder das Programm zur Laufzeit entsprechend beeinflussen und somit den Ablauf des ausgeführten Programms verändern/steuern/unterstützen. Heute werden Annotations als Ersatz und als Unterstützung für Konfigurationsdateien verwendet. Siehe hierzu EJB, ORM’s, Spring und Struts vor der Zeit von Annotations.


5. Welche Einschränkungen haben Annotations?


6. Welche Arten von Annotations gibt es?

Es gibt Annotations, die auf Annotations angewendet werden können. Diese Annotations nennt man Meta-Annotations. Beispiele dafür sind die Annotations @Retention und @Target. Man kann Annotations mit und ohne Parametern erzeugen. Annotations ohne Parameter dienen nur als Marker für die Ablaufsteuerung. Marker-Annotations sind z.B. @Deprecated und @Override.


6.1. Beispiele für Annotations

6.1.1. Beispiel ohne Parameter (Marker-Annotation):

6.1.2. Beispiel mit einem Parameter:

6.1.3. Beispiel mit mehreren Parametern:


7. An welchen Elementen kann man Annotations definieren?

Definieren kann man Annotations an Packages, Klassen, Interfaces, Methoden, Konstruktoren, Feldern und Parametern.

7.1. Beispiele dafür:

7.1.1. Klassen-Annotation:

7.1.2. Methoden-Annotation:

7.1.3. Feld-Annotation:

7.1.4. Parameter-Annotation:


Stand: 5. November 2013