java元注解,局部注解怎么解析

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java元注解,局部注解怎么解析相关的知识,希望对你有一定的参考价值。

在java中,方法注解、参数注解等可以通过反射获取,但是局部变量注解、包注解怎么获取呢?我定义了一个局部变量注解,修饰了一个局部变量,我怎么定义解析器呢?我想要每次代码执行到这个局部变量时,调用对应元注释的解析器。

对于局部变量的注解只能在源码级别上进行处理,类文件并不描述局部变量。因此,所有的局部变量注解在编译完一个类的时候就会被遗弃掉。同样地,对包的注解不能在源码级别之外存在。

在文件package-info.java中注解一个包,该文件只包含以注解先导的包声明

包注解需要在特定文件:package-info.java,中添加,获取如下:

Package pkg = TestAnnotation.class.getPackage();
boolean hasAnnotation=pkg.isAnnotationPresent(Xpc.class);
if (hasAnnotation)
    Xpc xpc=pkg.getAnnotation(Xpc.class);
    System.out.println("package:" + pkg.getName());
    System.out.println("id=" + xpc.id());
    System.out.println("name=" + xpc.name());
    System.out.println("gid=" + xpc.gid());

参考技术A 局部变量是指类变量 ? 同样的,只是反射时要修改一下field的 access。

注解也是相似,Class的类有说明追问

类变量是属性,我说的局部变量是指的方法内部的变量。元注释可以进行修饰ElementType.LOCAL_VARIABLE

以上是关于java元注解,局部注解怎么解析的主要内容,如果未能解决你的问题,请参考以下文章

java 注解详解

Java注解和注解解析器深耕,架构师必会

Java注解和注解解析器深耕,架构师必会

Java:注解Annotation(元数据)

Java 注解自定义注解 ( 注解解析 )

Java如何自定义注解