Java注解理解笔记
Java注解本身就是一个类,这个类的作用就是方便对代码进行自定义的调整
1、@Target 指定了该注解的适用范围,图为作用于类
2、@Retention 指定了注解的生命周期
3、@Documented 将注解中的元素包含到JavaDoc文档中
4、@interface 表明注解的类型为Annotation
5、为Annotation属性,前面的类型指定了属性的类型,后面(value)指定了属性名称,default表示默认值后面的“” 表示默认值为无。上面的@AliasFor表示下面属性的别名。
1-1 @Target存在
ElementType.TYPE(作用于类、接口类、枚举类)
@Service
public class MessageServiceImpl implements MessageService{
public String getMessage() {
return "Hello World!";
}
}
ElementType.FIELD(作用于类的属性上)
public class MessageServiceImpl implements MessageService{
@Autowired
private WorkspaceService workspaceService;
}
ElementType.METHOD(作用于类的方法上)
public class MessageServiceImpl implements MessageService{
@ResponseBody
public String getMessage() {
return "Hello World!";
}
}
ElementType.PARAMETER(作用于类的参数上)
public class MessageServiceImpl implements MessageService{
public String getMessage(@RequestParam("msg")String msg) {
return "Hello "+msg;
}
}
同时作用用逗号隔开
2-1@Retention的RetentionPolicy值存在:
SOURCE(纯注释作用)
CLASS(编译阶段有效)
RUNTIME(运行时有效)