spring 自定义注解

来源:互联网 发布:海森伯格矩阵图片 编辑:程序博客网 时间:2024/06/05 20:38

最近用了下自定义注解。整理下相关的基础知识。以作备忘

1.自定义注解的作用:反射中获取注解,以取得注解修饰的类、方法或属性的相关解释。我自己理解就是给备注解的对象打个标签,做下边际。以便获得这种标记的对象时采取某些操作。

2元注解:元注解用来标记其他注解。总共有四个:

1.@Target:注解所修饰的对象范围,例如:packages、types(类、接口、枚举、Annotation类型)、类型成员(方法、构造方法、成员变量、枚举值)、方法参数和本地变量(如循环变量、catch参数)。如果target的值是方法。那么自定义注解只能用在方法上。
2.@Retention:描述注解的生效范围。如源文件,类文件,运行时等。
3.@Documented:文档化相关

4.@Inherited:元注解是一个标记注解,@Inherited阐述了某个被标注的类型是被继承的。如果一个使用了@Inherited修饰的annotation类型被用于一个class,则这个annotation将被用于该class的子类。

3.自定义注解:

/** *  * */@Inheritedpublic @interface People {    public enum People{OLD,YOUNG};    String name();    People people() default People.YOUNG;}
使用@interface声明自定义注解,它的方法等价于一个配置参数。方法的名称就是参数的名称,返回值类型就是参数的类型(返回值类型只能是基本类型、Class、String、enum)。可以通过default来声明参数的默认值。如上的注解,使用时,可以@People(people=People.OLD).

使用时,可以用被注解对象xxx.getAnnotation()获取对应的注解。

原创粉丝点击