【JAVA SE基础篇】66.注解,反射机制处理注解

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:类和表互相转化

类和表结构对应

属性和字段对应

对象和机录对应

使用注解完成类和表结构的映射关系

 

posted @ 2020-08-03 12:05  CKuan  阅读(289)  评论(0编辑  收藏  举报