常用注解

@Override
限定重写父类的方法

@Deprecated
标示已过时

@SuppressWarnings
抑制编译器警告

@RequestBody
主要用来接收前端传递给后端的json字符串中的数据的(请求体中的数据的);GET方式无请求体,所以使用@RequestBody接收数据时,前端不能使用GET方式提交数据,而是用POST方式进行提交。在后端的同一个接收方法里,@RequestBody与@RequestParam()可以同时使用,@RequestBody最多只能有一个,而@RequestParam()可以有多个。
注:一个请求,只有一个RequestBody;一个请求,可以有多个RequestParam。

@Documented用于指定该元Annotation修饰的Annotation类将被javadoc工具提取成文档,如果定义Annotation类时使用了@Documented修饰,则所有使用该Annotation修饰的程序元素的API文档中将会包含该Annotation说明。

@Inherited
  @Inherited Annotation指定被它修饰的Annotation将具有继承性:如果某个类使用了A Annotation(定义该Annotation时使用了@Inherited修饰)修饰,则其子类将自动具有A注释。


@Target也是用于修饰一个Annotation定义,它用于指定被修饰Annotation能用于修饰那些程序元素。@Target Annotation也包含一个名为value的成员变量,该成员变量只能是如下几个:
  1.ElementType.ANNOTATION_TYPE: 指定该策略的Annotation只能修饰Annotation。
  2.ElementType.CONSTRUCTOR: 指定该策略的Annotation能修饰构造器。
  3.ElementType.FIELD: 指定该策略的Annotation只能修饰成员变量。
  4.ElementType.LOCAL_VARIABLE: 指定该策略的Annotation只能修饰局部变量。
  5.ElementType.METHOD: 指定该策略的Annotation只能修饰方法。
  6.ElementType.PACKAGE: 指定该策略的Annotation只能修饰包定义。
  7.ElementType.PARAMETER: 指定该策略的Annotation可以修饰参数。
  8.ElementType.TYPE: 指定该策略的Annotation可以修饰类、接口(包括注释类型)或枚举定义。

@Retention只能用于修饰一个Annotation定义,用于指定该Annotation可以保留多长时间,@Retention包含一个RetentionPolicy类型的value成员变量,所以使用@Retention时必须为该value成员变量指定值。
  value成员变量的值只能是如下三个:
    1.RetentionPolicy.CLASS: 编译器将把注释记录在class文件中。当运行Java程序时,JVM不在保留注释,这是默认值。
    2.RetentionPolicy.RUNTIME: 编译器将把注释记录在class文件中。当运行Java程序时,JVM也会保留注释,程序可以通过反射获取该注释。
    3.RetentionPolicy.SOURCE: 注解仅存在于源码中,在class字节码文件中不包含。

原文地址:https://www.cnblogs.com/xia-yi/p/11599731.html