注解

什么是注解?

元数据(Annotation) ,是一种对代码进行说明的数据,JDK1.5引入的新规范,是与类、接口、枚举等引用类型处于同一个层次,可以用在包、类、属性、方法、方法的参数和局部变量等的前边,不影响代码的语义,可以对其进行解析

 

注解Annotation: 是一种引用数据类型(在类加载的时候会生成字节码文件)

 

注解在以后的用途:

注解的作用:

注解只能起到一个标识的作用

spring框架:基于注解的开发模式

学习了反射可以不使用new关键字去创建一个类的实例

spring是一个容器里面会存放很多类的实例

 

我怎么知道有哪些类需要去创建实例,那些类不需要创建实例?

用注解去标识一下,需要创建实例的类,用注解去做一个标识

在spring框架检测到该类有注解时,就会通过反射机制去创建该类的实例

beans: User、Student、Person、Animal

创建一个注解

注解中可以拥有属性,但是不能拥有方法

如果你给一个注解声明了属性,那么在注解修饰元素的时候,就必须要给属性赋值,除非你在声明属性的时候,给了属性默认值

 

在注解中声明属性

 

在注解中定义属性只能是八大基本数据类型、字符串类型String、枚举类型、以及主要类型所对应的数组类型

 

在定义属性时,如果属性名称是value,那在注解修饰元素,并且给属性赋值的时候,属性名称可以省略不写

 

注解运用范围

注解使用时的语法格式是:

@注解类型名

注解可以出现在类上、属性上、方法上、变量上等

注解可以出现在注解类型上

 

JDK内置注解

Deprecated@Deprecated 注释的程序元素,不鼓励程序员使用这样的元素,通过是因为它很危险或存在更好的选择

 

Override表示一个方法声明打算重写超类中的另一个方法声明

 

SuppressWarnings 指示应该在注释元素(以及包含在该注释元素中的所有程序元素)中取消显示指定的编译器警告

 

 

元注解

什么是元注解?

用来标注“注解类型”的“注解”,称为元注解

修饰注解的注解

在定义注解时需要通过元注解指定例如注解的使用场合、是否生成文档、是否可以继承、注解保持的策略(是否能被反射机制所获取到)

 

元注解

@Target({ElementType.METHOD,ElementType.TYPE}) 表示注解的作用域

参数只能是枚举类型数组

 

 

如何通过反射机制获取注解:

1、创建类对应的字节码对象

2、通过字节码对象获取注解字节码对象

 

根据注解自动生成SQL查询语句