Exploración de los principios de anotación de primavera (1)
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.