Las Anotaciones pueden asociarse a un paquete, a una clase, a un atributo o incluso a un parámetro. Estas clases especiales se declaran en el código de la aplicación anteponiendo el símbolo @ en el nombre de la Anotación . Cuando el compilador de Java detecta una Anotación crea una instancia y la inyecta en el elemento estructural afectado (paquete, clase, método, atributo, etc.). Esto hace que éstas no aparezcan como atributos o métodos propios del objeto, y por eso decimos que no interacciona con el modelo de datos, pero las aplicaciones que lo necesiten pueden obtener la instancia inyectada y usarla.
Las Anotaciones pueden declararse con parámetros o sin ellos. En caso de que tengan parámetros, estos pueden ser otros Anotaciones, valores constantes o valores literales, de modo que estén disponibles en tiempo de compilación (que es cuando el compilador realiza la inyección).
Anotaciones principales.
@XmlRootElement(namespace = "namespace", name = "nombre" )
: Define la raíz del XML.@XmlType(propOrder = { "field2", "field1",.. }, name = "nombre"
)
: Permite definir en que orden se van escribir los elementos dentro del XML. Esta anotación deberán tenerla todas las clases que no mapean la raiz del XML.@XmlElement(name = "nombre")
: Define el elemento de XML que se va usar. Si el atributo de la clase tiene el mismo nombre que la etiqueta XML, podemos omitirlo. Tenemos que escribir esta anotación antes del método setter correspondiente. Mirar ejemplos en el siguiente subcapitulo.@XmlAttribute
se utiliza para mapear atributos a los nodos XML. @XmlElementWrapper
: ofrece la posibilidad de crear un contenedor alrededor de una representación XML. Este contenedor puede contener una colección de elementos.
El parámetro name
= "nombre" permite especificar el nombre de la etiqueta XML.