0
点赞
收藏
分享

微信扫一扫

关于JAVA的Annotation(注解的实现过程)

其生 2022-02-16 阅读 41


注解是jdk1.5引入的新特性

自定义注解需要有2个东西

一、自定义注解类


package com.annotation;

import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;

@Retention(RetentionPolicy.RUNTIME)
public @interface Test_annotation {
public String value() default "hellow";
}




二、注解解析类


package com.resolver;

import java.lang.reflect.Method;

import com.annotation.Test_annotation;

/**
*
* annotation解析器
*
* @ClassName: Test_annotaton_resolver
* @author Administrator
* @date 2016年3月28日 下午3:13:43
* @version V2.0
*
*/
public class Test_annotaton_resolver {
public void resoler(Object obj,String methodname){
Method[] ms = obj.getClass().getMethods();
for (Method m:ms){
if(m.getName().equals(methodname)){
if(m.isAnnotationPresent(Test_annotation.class)){
Test_annotation tann=m.getAnnotation(Test_annotation.class);
try {
System.out.println(tann.value()+"before...");
m.invoke(obj, "123");
System.out.println(tann.value()+"after...");
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
}
}

通过注解解析类,我们就可以在标注了注解的类的执行前和执行后加上方法,JAVA中的注解即是通过这种方式实现的。当然过程肯定比这个复杂的多。



举报

相关推荐

0 条评论