注解处理器

  如果没有处理注解的工具,那么注解也不会有什么大的作用。对于不同的注解有不同的注解处理器。虽然注解处理器的编写千变万化,但是也有其标准。比如:针对运行时注解会采用反射机制处理,针对编译时注解会采用AbstractProcessor来处理。

  1. 运行时注解处理器
    1. 首先我们需要定义运行时注解
      @Retention(RetentionPolicy.RUNTIME)
      @Target(ElementType.METHOD)
      @Documented
      public @interface GET{
          String value() default "";
      
      }
      

        

    2. 意味着GET注解用于方法
      public class AnnotationTest {
      
          @GET(value = "http://ip.taobao.com/59.108.54.37")
          public String getIpMsg(){
              return "";
          }
      
          @GET(value = "http://ip.taobao.com/")
          public String getIp(){
              return "";
          }
      }
      

        

    3. 接下来写一个简单的处理器
      public class AnnotationProcessor {
          public static void main(String[] args){
              Method[] methods = AnnotationTest.class.getDeclaredMethods();
              for (Method m: methods){
                  GET swordsman = m.getAnnotation(GET.class);
                  System.out.println(swordsman.value());
              }
          }
      }
      

        

  2. 编译时注解处理器

猜你喜欢

转载自www.cnblogs.com/endian11/p/9103925.html