¿Es posible crear una anotación personalizada con un grupo de anotaciones en Java?

Niuhuru Lang:

Yo uso Lombok y JPA en mi sistema. Así que para las clases de entidad, todos ellos se parece a:

@Getter
@Setter
@Entity
@NoArgsConstructor
@AllArgsConstructor
public class XxxEntity {
    ...
}

Así que mi pregunta puedo crear una anotación personalizada para agrupar estas todas estas anotaciones?

por lo que puede verse como:

@CustomAnnotation
public class XxxEntity {
    ...
}

Y cuando uso el @CustomAnnotation, se aplicará toda la anotación anterior a esa clase.

es posible?

Gracias.

maaartinus:

No, no es posible. Puede agrupar sus anotaciones entre sí mediante una nueva anotación, pero el procesador de anotación no entenderlo. La @Cachinganotación de primavera es sólo un ejemplo de una anotación conocido por el procesador de anotación . Si crea una anotación propia mediante la copia @Caching, apostaría verá que no funciona.

En teoría, se podría trabajar como un procesador de anotación puede leer cualquier anotación y mirar dentro. Sin embargo, es totalmente claro cómo una anotación desconocida se debe procesar. Poniendo otras anotaciones en el interior no tiene significado estandarizado.

Sobre todo, esto no funciona para Lombok. Hay algunas cuestiones que solicitan esto, por ejemplo, aquí , pero es bastante complicado.

La última solución sería un pre-procesador de anotación comprender anotaciones compuestos y su sustitución por sus constituyentes antes de procesadores de anotación ordinarios ejecutan. Pero no hay tal cosa y que yo sepa no hay planes para ello.

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=179868&siteId=1
Recomendado
Clasificación