Red de conocimiento informático - Problemas con los teléfonos móviles - Exploración de los principios de anotación de primavera (1)

Exploración de los principios de anotación de primavera (1)

El origen de las anotaciones de Java: JDK1.5

Anotaciones de Java comunes:

1. A partir de @Override, se introdujeron las anotaciones y metanotaciones de Java.

El código fuente de @Override es el siguiente:

Tenga en cuenta que hay tres puntos clave en el código fuente de @Override:

2. en el código fuente de @Retention (Retención: retención. )

Política de retención. SOURCE permanece en el nivel del código fuente y el compilador lo descarta, como @Override (@Override código fuente arriba);

Política de retención. El compilador retiene las clases en el archivo de clases compiladas, pero la VM las descarta;

Política de retención. Se conserva hasta el tiempo de ejecución y se puede leer mediante reflexión. Por ejemplo, la propia metaanotación @Retention.

* *Extensión 1: si la anotación debe leerse mediante reflexión, se agregará la metaanotación @retention(RetentionPolicy.Runtime) cuando se defina esta anotación. **

3. Mire la metaanotación @Target nuevamente y defina dónde debería funcionar la anotación.

Ubicación de la anotación:

* *Extensión 2: Si desea personalizar la anotación, debe especificar la ubicación donde funciona la anotación. Actúa sobre clases, métodos, campos, constructores, etc. **

Tome @RequestMapping en SpringMVC como ejemplo.

El código fuente se define de la siguiente manera:

La metaanotación @Target de @RequestMapping indica que se puede usar para métodos y clases (o interfaces, anotaciones, enumeraciones).

La metaanotación @Retention de @RequestMapping indica que se puede retener en el tiempo de ejecución y leer mediante reflexión.

* *Extensión 3: Si desea personalizar la anotación, además de agregar @interface para modificar el nombre de la clase, también debe cumplir con las extensiones 1 y 2 anteriores. **

Entonces, ¿cómo personalizar las anotaciones?

Consulte: Explore los principios de las anotaciones Spring (2) Cómo personalizar las anotaciones en Java.