注释类型 AliasFor
-
@Retention(RUNTIME) @Target(METHOD) @Documented public @interface AliasFor
AliasFor是用于声明批注属性别名的批注。使用场景
注释中的显式别名:在单个注释中,@AliasFor可以在一对属性上声明,以表明它们是彼此可互换的别名。
元注释中属性的显式别名:如果 的属性设置为与声明它的属性@AliasFor不同的注释,则 annotation 被attribute解释为元注释中属性的别名(即显式元注释属性覆盖)。 这样可以对在注释层次结构中覆盖的确切属性进行精细控制。事实上,@AliasFor甚至可以为元注释的属性声明value别名。
注释中的隐式别名:如果注释中的一个或多个属性被声明为同一元注释属性的属性覆盖(直接或传递),则这些属性将被视为彼此的一组隐式别名,从而导致类似于注释中显式别名的行为。使用要求
批注中的显式别名:
- 组成别名对的每个属性都应使用
@AliasFor注释,并且value必须引用另一个属性 - 别名属性必须声明相同的返回类型
- 别名属性必须声明默认值
annotation()不应声明
示例:
@Target(ElementType.METHOD) @Retention(RetentionPolicy.RUNTIME) @Documented @RequestMapping(method = HttpMethod.GET) public @interface GetMapping { @AliasFor(annotation = RequestMapping.class) PathPatterns patterns() default PathPatterns.PATH; @AliasFor(annotation = RequestMapping.class) String[] value() default {}; @AliasFor(annotation = RequestMapping.class) String[] path() default {}; @AliasFor(annotation = RequestMapping.class) String[] consumes() default {}; @AliasFor(annotation = RequestMapping.class) String[] produces() default {}; } - 组成别名对的每个属性都应使用
-
-
可选元素概要
可选元素 修饰符和类型 可选元素 说明 Class<? extends Annotation>annotation映射注解Stringvalue映射指定注解的别名,如果为空则为当前名称
-
-
-
元素详细资料
-
value
String value
映射指定注解的别名,如果为空则为当前名称- 默认值:
- ""
-
-
-
annotation
Class<? extends Annotation> annotation
映射注解- 默认值:
- java.lang.annotation.Annotation.class
-
-