java注解
在学习完Spring相关的应用过后,我们尝尝会在项目中的某些地方应用到注解。(@valid,@mapper等等)
但是有些情况下我们可能会涉及到自己的一些自定义注解的功能。所以做以下记录。
首先声明一个注解的关键词 @interface 注解的默认访问修饰符为 public
元注解(@Target、@Retention、@Inherited、@Documented)
它们被用来提供对其它 注解类型作标志操作(可以理解为最小的注解,基础注解)
下面对各元注解做简单的说明
@Target:用于描述注解的使用范围,该注解可以使用在什么地方 ElementType是枚举类,其中枚举了各种范围,下方示例引用了方法,表明该注解可以用于方法上
@Retention:表明该注解的生命周期
@Inherited:是一个标记注解,@Inherited阐述了某个被标注的类型是被继承的。如果一个使用了@Inherited修饰的annotation类型被用于一个class,则这个annotation将被用于该class的子类。
@Documented:表明该注解标记的元素可以被Javadoc 或类似的工具文档化
注解示例如下 方法体中中的message声明了该属性的类型以及属性名称,使用该注解时,可以对其中的相关属性进行赋值
// 注解
@Target(value = {ElementType.METHOD})
@Retention(value = RetentionPolicy.RUNTIME)
@Inherited
@Documented
public @interface testannotionAnno {
String message() default "";
}
//java方法对上述注解进行引用
public class testannotion {
@testannotionAnno(message = "测试")
void testzhujie(){
}
}