Annotazione (Java)

Nella programmazione, un'annotazione Java è un modo per aggiungere metadati al codice sorgente Java . Possono essere aggiunti a classi, metodi, attributi, parametri, variabili locali e pacchetti.

Cronologia delle annotazioni Java

Le annotazioni Java sono state introdotte nel 2002 tramite JCP (JSR-175) e sono state approvate inSettembre 2004. Le annotazioni sono disponibili con JDK versione 1.5.

Sono stati introdotti come alternativa ai file di configurazione XML . Trovano le loro fonti nelle etichette aggiunte direttamente nella documentazione Java ( Javadoc ) che vengono poi elaborate da strumenti come XDoclet per generare i file di configurazione XML. Ciò evita di scrivere questi file a mano poiché è noioso e soggetto a errori.

A differenza delle etichette XDoclet , le annotazioni Java possono (se necessario) essere accessibili al programmatore durante l'esecuzione del programma tramite la riflessione .

Come vengono gestite le annotazioni Java

Durante la compilazione dei codici sorgente, il compilatore Java memorizza i metadati delle annotazioni nei file di classe. Successivamente, la JVM o altri programmi possono accedere a questi metadati per determinare come interagire con i componenti del programma o modificarne il comportamento. Le annotazioni (che puoi creare) possono esse stesse essere annotate con un'annotazione Retentionche indica se questa annotazione deve essere incorporata nel file di classe, accessibile nell'ambiente di runtime o semplicemente rimanere a livello di codice sorgente (TODO).

Sintassi delle annotazioni

La dichiarazione delle annotazioni è una variazione delle etichette aggiunte ai commenti in passato. Le annotazioni assumono la forma di una dichiarazione di interfaccia preceduta dal carattere @ e facoltativamente seguita da meta-annotazioni, come mostrato di seguito:

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

In questo esempio, Retention e Target sono esempi di annotazioni.


Poiché le annotazioni non fanno nulla di speciale da sole, è necessario scrivere codice Java specifico per sfruttare le annotazioni definite dal programmatore. Questo codice può essere eseguito durante la compilazione (es: project lombok ) o durante l'esecuzione come con le annotazioni Hibernate per la persistenza .

Vedi anche

Riferimenti