@Inherited
@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.FIELD,ElementType.METHOD})
public @interface ServicePackTest {
String code() default "clr";
}
上面是一个简单的自定义注解ServicePackTest类,我们首先来了解一下上面几个注解是什么意思,首先他们称为注解的注解,也称为元注解
@Inherited --允许子类继承
@Documented --生成javaDoc文档
@Retention --可以理解为使用阶段,有三个值SOURCE,CLASS ,RUNTIME,只有RUNTIME能在jvm运行时候存在
@Target --目标对象,也就是注解可使用范围,常用的 TYPE(类),FIELD(属性),METHOD(方法)
ServicePackTest类注解下有一个属性值,这个code可以自定义,默认值也可以设置,如果不设置时使用此注解就必须给code值,否则会报错
以下为测试代码
详细可查看下图