内容来自《Offer来了:Java面试核心知识点精讲》

注解用于描述元数据的信息,使用的重点在于对注解处理器的定义。

Java SE5扩展了反射机制的API,以帮助程序快速构造自定义注解处理器。对注解的使用一般包含定义及使用注解接口,我们一般通过封装统一的注解工具来使用注解。

1.定义注解接口

下面的代码定义了一个FruitProvider注解接口,其中有name和address两个属性:

//1:定义注解接口
@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public  @interface  FruitProvider  {
 //供应商编号
 public  int  id()  default  -1;
 //供应商名称
 public String name() default "";
 //供应商地址
 public  String  address()  default  "";
}

2.使用注解接口

下面的代码定义了一个Apple类,并通过注解方式定义了一个FruitProvider:

public  class  Apple  {
  //2:使用注解接口
    @FruitProvider(id = 1, name = "陕西红富士集团", address = "陕西省西安市")
    private  String  appleProvider;
    public  void  setAppleProvider(String  appleProvider)  {
      this.appleProvider  =  appleProvider;
    }
    public  String  getAppleProvider()  {
      return  appleProvider;
    }
}

3.定义注解处理器