一、注解

1、什么是注解

1、Annotation是Java5开始引入的新特色,中文名称叫注解
2、它提供了一种平安的相似正文的机制,用来将任何的信息或元数据(metadata)与程序元素(类,办法,成员变量)进行关联
3、为程序的元素(类,办法,成员变量)加上更直观更明了的阐明,这些阐明信息是与程序的业务逻辑无关,并且供指定的工具或框架应用
4、Annontation像一种修饰符一样,利用于包,类型,构造方法,办法,成员变量,参数及本地变量的申明语句中
5、Java注解是附加在代码中的一些元信息,用于一些工具在编译,运行时进行解析和应用,起到阐明配置的性能
6、注解不会也不能影响代码的理论逻辑,仅仅起到辅助性的作用。蕴含在java.lang.annotation包中

2、注解的作用

1、生成文档,这是最常见的,也是java最早提供的注解,罕用的有@param,@return等
2、跟踪代码依赖性,实现代替配置文件的性能
3、在编译时进行格局查看,如@override放在办法前,如果你这个办法并不是笼罩了超类办法,则编译时就能查看出

二、自定义注解

1、元注解

package com.msbline.annotation;import java.lang.annotation.*;public class MetaAnnotation {    @MyAnnotation()    public void test(){    }}//target用来申明注解的应用范畴//Retention用来申明注解在什么时候失效,个别都是运行时//Documented示意是否显示在javadoc文档外面//Inherited示意以后注解是否可能被继承@Target(ElementType.METHOD)@Retention(RetentionPolicy.RUNTIME)@Documented@Inherited@interface MyAnnotation{    //定义的形式看起来像是办法,实际上是在应用注解的时候填写的参数名称,默认的名称是value //自定义注解中填写的所有办法都须要在应用注解的时候,增加值,很麻烦,因而蕴含默认值 String name() default "zs";    int age() default 12;    int id() default 1;    String[] likes() default {"1","2"};}