注解
一、 注解的基本理解
注解也叫元数据,用一个词就可以描述注解,那就是元数据,即一种描述数据的数据。所以,可以说注解就是源代码的元数据,注解是JDK1.5版本开始引入的一个特性,用于对代码进行说明,可以对包、类、接口、字段、方法参数、局部变量等进行注解。注解可以理解为一种使用相关信息来绑定Java文件元素的方式,一种结构化注释和类元素相互绑定的方法
Java中常见的注解
@Override: 表示必须对方法重写
@Deprecated : 表示方法过时
@SuppresWarning : 表示忽略警告
@FunctionalInterface : 表示函数式接口
(函数式接口: 如果一个接口只有一个抽象方法,那么该接口就是函数式接口,此接口再使用的时候可以使用Lambda表达式改进)
XML和注解区别:
注解:是一种分散式的元数据,与源代码紧绑定。
xml:是一种集中式的元数据,与源代码无绑定
假如你想为应用设置很多的常量或参数,这种情况下,XML是一个很好的选择,因为它不会同特定的代码相连。如果你想把某个方法声明为服务,那么使用Annotation会更好一些,因为这种情况下需要注解和方法紧密耦合起来
注解的主要用途:
生成文档,通过代码里标识的元数据生成javadoc文档。
编译检查,通过代码里标识的元数据让编译器在编译期间进行检查验证。
编译时动态处理,编译时通过代码里标识的元数据动态处理,例如动态生成代码。
运行时动态处理,运行时通过代码里标识的元数据动态处理,例如使用反射注入实例
注解的分类 :
按照运行机制分类:
源码注解: 注解只在源码中存在,当编译生成.class文件的时候,就不存在了
编译时注解: 注解在源码和.class文件中存在,当程序运行的时候它就不存在了
运行时注解: 在运行的时候还能够起作用的注解,它会动态影响到程序执行逻辑
元注解: 对注解进行注解
按