1.注解入门
注解(Annotation)由jdk1.5后引入
1.注解作用:
1.不是程序本身,可以对程序作出解释(与注释功能一致)
2.可以被其他程序读取(编译器)。
注释与注解的区别:
注解信息处理流程,是注解的和注释的最大区别。没有注解信息处理流程,注解就没有意义
注解的格式:
注解是以“@注解名”在代码中存在,还可以添加一些参数值,例如:@SuppressWarnings(value=“unchecked”)。
注解在哪里使用:
可以附加在package,class,method,field等上面,相当于给他们添加了额外的辅助信息,
我们可以通过反射机制编程实现对这些元数据的访问。
2.内置注解
@Override:定义在java.lang.Override中,此注释只适用于修饰方法,
表示一个方法声明打算重写超类中的另一个方法声明
@Deprecated:定义在java.lang.Deprecated中,此注释可用于修辞方法,属性,类,
表示不鼓励程序员使用这样的元素,通常是因为他很危险或存在更好的选择
@SuppressWarnings:定义在java.lang.SuppressWarnings中,
用来抑制编译时的警告信息
3.自定义注解,元注解
1.元注解作用:
负责注解其他注释。Java中定义了4个标准的meta-annotation类型,他们被用来提供对其他annotation类型做说明
这些类型和他们所支持的类在java.lang.annotation包中可以找到
@Target:用于描述注解的适用范围
package(包):PACKAGE
类,接口,枚举,annotation:TYPE
构造器:CONSTRUCTOR
属性:FIELD
方法:METHOD
局部变量:LOCAL_VARIABLE
参数:PARAMETER
@Retention:表示需要在什么级别保存该注释信息,用于描述注解的生命周期
SOURCE:在源文件中有效(即源文件保留)
CLASS:在class文件中有效(即class保留)
RUNTIME:在运行使有效(即运行时保留),为Runtime可以被反射机制读取
@Documented:
@Inherited
2.自定义注释:
使用@interface自定义注解时,自动继承了java.lang.annotation.Annotation接口
注:@interface用来声明一个注释,格式为 public @interface 注解名{定义体}
其中每一个方法实际上是声明了一个配置参数
方法明就是参数的名称
返回值类型就是参数类型(返回值类型只能是基本类型、class、String、enum)
可以通过default来声明参数的默认值
如果只有一个参数成员,一般参数名为vaule
3.反射机制处理注解
ORM:类和表互相转化
类和表结构对应
属性和字段对应
对象和机录对应
使用注解完成类和表结构的映射关系