En programmation, une annotation Java est une façon d'ajouter des méta-données à un code source Java. Elles peuvent être ajoutées aux classes, méthodes, attributs, paramètres, variables locales et paquets.

Historique des annotations Java

modifier

Les annotations Java ont été introduites en 2002 à travers le JCP (JSR-175) et ont été approuvées en septembre 2004. Les annotations sont disponibles avec le JDK version 1.5.

Elles ont été introduites en tant qu'alternative aux fichiers de configuration XML. Elles trouvent leurs sources dans les libellés ajoutés directement dans la documentation Java (Javadoc) qui sont ensuite traitées par des outils tels que XDoclet pour générer les fichiers de configuration XML. Ceci évite d'écrire ces fichiers à la main car c'est un procédé ennuyeux et sujet à erreur.

Contrairement aux libellés XDoclet, les annotations Java peuvent (si besoin) être accessibles au programmeur lors de l'exécution du programme grâce à la réflexion.

Comment les annotations Java sont traitées

modifier

Lors de la compilation des codes sources, le compilateur Java stocke les méta-données d'annotation dans les fichiers classes. Plus tard, la JVM ou d'autres programmes peuvent accéder à ces méta-données pour déterminer comment interagir avec les composants du programme ou changer leur comportement. Les annotations (que vous pouvez créer) peuvent être elles-mêmes annotées avec une annotation Retention qui indique si cette annotation doit être embarquée dans le fichier classe, accessible dans l'environnement d'exécution ou simplement rester au niveau du code source (TODO).

Syntaxe de l'annotation

modifier

La déclaration des annotations est une variante des libellés ajoutés aux commentaires par le passé. Les annotations prennent la forme d'une déclaration d'interface précédée du caractère @, et facultativement suivies de méta-annotations, comme montré ci-dessous :

 @Retention(RetentionPolicy.RUNTIME)
 @Target({ElementType.METHOD})

Dans cet exemple, Retention et Target sont des exemples d'annotations.


Les annotations ne faisant rien de particulier elles-mêmes, il faut ensuite écrire du code Java spécifique pour tirer parti des annotations définies par le programmeur. Ce code peut être exécuté soit lors de la compilation (ex: project lombok), soit lors de l'exécution comme avec les annotations Hibernate pour la persistance.

Voir aussi

modifier

Références

modifier

📚 Artikel Terkait di Wikipedia

Java (langage)

Pour les articles homonymes, voir Java. Ne doit pas être confondu avec JavaScript. Java est un langage de programmation de haut niveau orienté objet créé

Paradigme (programmation)

synchrone Programmation par annotations (comme en langage Flare) Programmation par attributs (comme avec les annotations Java, pré-traitées par la classe

Annotation

un code source ; annotation, dans le langage informatique Java, une façon d'ajouter des méta-données à un code source Java. Annotation sémantique, un ajout

Arobase

pour faire appel à une annotation dans le code. Par exemple : @Retention(RetentionPolicy.RUNTIME) //Utilisation d'une annotation @Target({ElementType.METHOD})

Enterprise JavaBeans

s'exécuter. Depuis la version 3.0, le modèle EJB utilise le principe d'annotation Java (meta-données) pour spécifier toute la configuration et les propriétés

Java Development Kit

plate-forme Java considérée (et bien évidemment la version de Java ciblée) : JSE pour la Java 2 Standard Edition également désignée J2SE ; JEE, sigle de Java Enterprise

Compilateur Java

bienvenue ! Comment faire ? (en) « Java Language and Virtual Machine Specifications ». (en) « JSR 269: Pluggable Annotation Processing API ». Portail de la

Java Specification Requests

Services Metadata for the JavaTM Platform JSR-227 A Standard Data Binding & Data Access Facility for J2EETM JSR-269 Pluggable Annotation Processing API JSR-276