一、注解的作用
注解的作用就是代替配置文件,一般的配置文件都是xml,也有properties文件
注:注解版会比配置文件运行效率低,注解使用是反射进行解析,反射就会比较慢
二、怎么定义注解
1、格式:public @interface 名称{}
2、要求:定义任何一个注解必须定义注解时, 写上以下三个注解:
@Documented 表示一个注解文档
@Target() 自定义注解作用在什么位置,取值如下:
ElementType.TYPE 作用在类上
ElementType.FIELD 作用在字段上
ElementType.METHOD 作用在方法上
ElementType.PARAMETER 作用在参数上
ElementType.CONSTRUCTOR 作用在构造方法上
ElementType.PACKAGE 作用在包上
ElementType.ANNOTATION_TYPE 作用在注解上
@Retention() 指定注解在什么周期范围内有效
RetentionPolicy.SOURCE 在源码有效
RetentionPolicy.CLASS 在字节码中有效
RetentionPolicy.RUNTIME 在运行期有效
注:注解中value属性,只写一个value属性时,value可以省略
三、案例
@Documented
@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
public @interface Column {
public String value() default "";
public String length() default "";
public String type() default "";
}
public class Person {
@Column(value = "f_id", length = "10", type = "number")
private int id;
}