什么是注解
注解就是用来描述包、类、成员变量、方法或者参数的元数据,注解本身也是一个类。对类和变量的xml描述实际上就是元数据,这些都可以用注解取代,因为注解也是元数据。
比如@Component注解标注在一个类上就表明该类是一个bean,@Autowire标注在成员变量上就直接给该成员变量赋值。本着约定优于配置的原则,注解标注在代码上使代码更加清晰,也容易维护。
元注解
定义在java.lang.annotation包中,java中有5种元注解。
- @Target 注解用在什么地方,分别有几个地方:
- ElementType.TYPE 类上
- ElementType.FIELD 成员变量
- ElementType.METHOD方法
- ElementType.PARAMETER 参数
- ElementType.CONSTRUCTOR 构造方法
- ElementType.LOCAL_VARIABLE 本地变量
- ElementType.ANNOTATION_TYPE 另一个注释
- ElementType.PACKAGE 包上
- @Retention注解的生命周期
- RetentionPolicy.SOURCE(编译结束后失效如@Override)、
- RetentionPolicy.CLASS(JVM加载类的时候失效,默认。不能通过反射获取)、
- RetentionPolicy.RUNTIME(始终不失效,一般用于自定义注解,可通过反射获取)
- @Repeatable
- @Documented 注解信息是否添加到javadoc中
- @Inherited 注解作用被子类继承。
Java API预定义注解
- @Override
- @Deprecated
- @SuppressWarnings
Java中定义注解
java中用@interface定义注解
@interface Annotation1{
String value();
}
kotlin中用annotation class定义注解
annotation class Annotation1(val value:String)

1237

被折叠的 条评论
为什么被折叠?



