/ / Як поєднати кілька приміток до одного? - java, весна, анотації

Як об'єднати декілька анотацій у єдине? - java, spring, анотації

У мене є два анотації з рамки. Часто я використовую ці два анотації обидва в одному полі. Таким чином, я намагаюся створити "комбіновану" анотацію, яка містить це два.

Але я не знаю, чи можливо це взагалі:

Існуючі примітки (що я не маю контролю):

@Target({ElementType.PARAMETER, ElementType.METHOD, ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
public @interface ApiParam {
String name() default "";
}

@Target({ElementType.METHOD, ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
public @interface ApiModelProperty {
String name() default "";
}

Моя спеціальна примітка що я намагаюся створити:

@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.ANNOTATION_TYPE)
@ApiParam
@ApiModelProperty
public @interface SwaggerParam {
String name() default "";
}

Результат: анотації є не застосовується до типу приміток.

Питання: Чи є шанс?

Відповіді:

1 для відповіді № 1

На жаль, цього не можна робити, оскільки анотації розширити неможливо.

Чи є щось схоже на спадкування анотацій у java?

Коли я вперше відповів на це, я був спочаткузаплутаний рамковим підходом Spring до цього недоліку, завдяки якому вони використовують анотації метарів (наприклад, @Component як метаанотація для @ Controller / @ Configuration тощо) як своєрідне вирішення.

Побачити: https://docs.spring.io/spring/docs/3.2.x/spring-framework-reference/html/beans.html#beans-annotation-config