元注解(Meta-annotation) 是指用来注解其他注解的注解。
换句话说:
@Override、@Autowired)是用来修饰代码的;@Target指定注解可以用在什么地方。
@Target(ElementType.METHOD)
常见取值:
TYPE:类、接口METHOD:方法FIELD:字段PARAMETER:参数CONSTRUCTOR:构造方法@Retention指定注解的生命周期。
@Retention(RetentionPolicy.RUNTIME)
取值:
SOURCE:仅源码中存在(如 @Override)CLASS:编译后存在,运行时不可见RUNTIME:运行时可见(可反射读取)@Documented表示注解会被包含到 JavaDoc 中。
@Inherited表示子类会继承父类的注解(仅对类有效)。
@Repeatable(Java 8+)表示注解可以在同一位置重复使用。
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface Log {
String value() default "";
}
这里的 @Target 和 @Retention 就是元注解。
元注解 = 注解的“说明书”,用来定义注解的行为和适用范围。
如果你愿意,我也可以讲 Spring 或自定义注解实战中的元注解用法。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。