美文网首页
java注解

java注解

作者: freelifes | 来源:发表于2021-12-13 15:58 被阅读0次

java 提供四种基础的注解 ( 元注解):

@Target 用于什么地方。

 1 : ElementType.ANNOTATUON_TYPE  给注解进行注解。
 2 : ElementType.FIELD :  属性注解
 3  :ElementType.METHOD : 给方法进行注解。
 4  :ElementType.TYPE :  可以给一个类型注解,比如类,接口,枚举。

@Retention 在什么级别保留改信息。

  1 : SOURCE : 注解将被编译器丢弃。编译完成什么也不会留下,类似:@Override, @SuppressWarnings  作用: 代码错误提示等。
  2 :  CLASS : 注解在class文件中可以用,在类加载的时候被丢弃。默认方式。作用: 生成java文件。
  3 : RUNTIME : Vm在运行期间保留注解,因此可以用反射机制读取注解信息,代码提取等。

@Document 将注解包含在javadoc中。

@Inherited 允许子类继承父类中的注解。

创建注解

1 使用@interface

Element是一个接口,表示程序的一个元素,可以是package,class,interface,method, 成员变量,函数参数,泛型种类等。

1 : ExecutableElement : 表示类或者接口中的方法,构造函数或者初始化器。
2 : PackageElement : 表示包程序元素。
3 :TypeElement : 表示一个类或者接口元素。
4 :TypeParameterElement : 表示类,接口,方法的泛型类型 如T元素
5 :VariableElement : 成员变量,(方法,局部变量) 元素

ElementKind = Element.getKind() 元素本身的类型

 1. Package  包类型
 2 . Enum   枚举类型
 3 . class  类
 4 . Field :成员类型
 5 . Method : 方法类型。
 6 . Interface : 接口类型

TypeMirror = Element.asType(): 元素的类型信息。 包括包名类型, 类的类型。 参数的类型。

 1. DeclaredType :  类和接口的类型信息。
 2.ExecutableType :  方法类型
 3.RefrerenceType :  引用类型。
 4.WildCardType : 通配符类型。
 5 : ArrayType : 数组类型

TypeKind = TyeMirror.getKind() 类型的属性

 1 :Int / Boolean / Long
 2 :  Package 包
 3 :Declared : 类和接口类型
 4 :Executable : 方法,构造函数。
 5 :   Typevar : 变量类型

重要方法

 1:types.isSubType(typemirror, typeActivity) 第一个是否是第二个的子类。
 2 :type.siSameType(typeMirror,typeActivity) 2个类型是相同的。
 3 :isAssignAble(typeMirror,typemirror2)  判断1是2的类型或者父类型。
 4 : getAnnotation(class AnnotationType) 获取元素上的注解。
 5 : getAnnotationMirrors() 获取元素上的注解类型。
 6 :getEnclosedElements() 获取元素内部的子元素。如 VariableElement
 7 :  getEnclosingElement() 获取元素的父元素.
 variableElement -> TypeElement -> packageElement
 8 : getSimpaleName()  变量名,方法名,类名。
 9 : getQualifiedName()  获取类的全限定名。
 10 Elements.getPackageOf(element.asType.tostring) 获取element包名。

javapoet

 1 :  TypeSpec : 用于生成类,接口,枚举对象的类。
 2 :MethodSpec :  用于生成方法对象的类。
 3 :parameterSpec : 用于生成参数对象的类。
 4 : ParameterSpec : 用于生成参数对象的类 。
 5 : fieldSpec : 用于配置生成成员变量的类。
 6 : FieldSpec : 用于配置生成成员变量的类。
 7 : className :  通过包名和类名生成对象。 知道某个class.

方法体

 1: addcode(Strng format, object ..args) 
  addCode 和 addStatement  : addstate会添加 ;
  2 :  $T : 表示class
        $N : 变量名,方法名
        $S :    字符串。 
        $L :     常量。

注解调试

 1 : edit configurations  -> remote
 2 : 复制 agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 
 3 :as右侧task找到compileDebugJavaWithJavac 任务,右键create 
 4 : 粘贴并修改 刚复制的 修改suspend= n为suspend=y.
 5 :  注意调试前,clean project 或者修改code后调试。

相关文章

  • 菜鸟学服务端技术----Spirng基础

    注解 Java基础加强总结(一)——注解(Annotation) java中的注解是如何工作的? java 注解 ...

  • 自定义注解

    java annotation基础 java注解分为标准注解和元注解。 标准注解是java为我们提供的预定义的注解...

  • Java注解的使用

    Java注解的使用 参考 廖雪峰java教程 使用注解 什么是注解(Annotation)?注解是放在Java源码...

  • Java原生注解和Spring注解的说明

    注解 java 原生注解 Spring 中的注解 一 Java原生注解 Java注解是在JDK1.5以后引入的新特...

  • Java 注解

    JAVA注解 Java 自带注解(系统注解) @Override 表示重写注解 @Deprecated 表示过时的...

  • 1.8 Java 注解annotation

    1.1 注解声明 Java注解Annotation,有声明注解和元注解 元注解:Java提供的元注解,所谓元注解就...

  • Java注解学习总结(脑图)

    注解的提取测试:定义注解: 测试注解提取: 参考:《Java编程思想》java注解

  • Java注解

    Java注解(Annotation)详解(一)——概述及JDK自带注解 Java注解(Annotation)详解(...

  • JAVA-注解 Annotation

    JAVA-注解 Annotation sschrodinger 2018/6/4 基本 注解 Java 注解用于为...

  • Java注解简介篇

    摘要 本文详细介绍java注解是什么,如何声明java注解,如何解析java注解。最后介绍JDK提供的几大基本注解...

网友评论

      本文标题:java注解

      本文链接:https://www.haomeiwen.com/subject/narcfrtx.html