三种标准注解和四种元注解以及Spring注解

标准注解

@Override

表示当前的方法定义将覆盖超类中的方法。如果你不小心拼写错误,或者方法签名对不上被覆盖的方法,编译器就会发出错误提示。

@Deprecated

如果程序员使用了注解为它的元素,那么编译器会发出警告信息。

@SuppressWarnings

关闭不当的编译器警告信息。在java SE5之前的版本中,也可以使用该注解,不过会被忽略不起作用。

四种元注解

@Target({ ElementType.TYPE, ElementType.METHOD })

  1. 作用: 用于描述注解的使用范围(即:被描述的注解可以用在什么地方)
  2. ElementType值:
  • CONSTRUCTOR:用于描述构造器
  • FIELD:用于描述域
  • LOCAL_VARIABLE:用于描述局部变量
  • METHOD:用于描述方法
  • PACKAGE:用于描述包
  • PARAMETER:用于描述参数
  • TYPE:用于描述类、接口(包括注解类型) 或enum声明

@Retention(RetentionPolicy.RUNTIME)

  1. 作用: @Retention可以用来修饰注解,是注解的注解,称为元注解。
  2. 按生命周期来划分可分为3类:
    RetentionPolicy.SOURCE:注解只保留在源文件,当Java文件编译成class文件的时候,注解被遗弃;
    RetentionPolicy.CLASS:注解被保留到class文件,但jvm加载class文件时候被遗弃,这是默认的生命周期;
    RetentionPolicy.RUNTIME:注解不仅被保存到class文件中,jvm加载class文件之后,仍然存在;

@Documented

将此注解包含在 javadoc 中 ,它代表着此注解会被javadoc工具提取成文档。在doc文档中的内容会因为此注解的信息内容不同而不同。相当与@see,@param 等。

@Inherited

允许子类继承父类中的注解。

其他注解

@Aspect

切面编程注解,作用是把当前类标识为一个切面供容器读取。

猜你喜欢

转载自blog.csdn.net/zhaohan___/article/details/108879763