zoukankan      html  css  js  c++  java
  • 关于注解的理解

    ---恢复内容开始---

    1.JDK自带的注解

    2.框架的注解

    3自定义主机

    1.JDK自带的注解有很多 如@ override  继承时重写方法   

    2.用到比较多的是Spring框架的注解 

    前两块后续补充

    3、自定义注解

    用 @interface 修饰的称之为注解(annotation)

    修饰注解的注解称之为元注解  如

    @Target 用于标记注释的位置

    @Target({ElementType.FIELD,ElementType.TYPE})

    Target这个元注解是标识MyAnnotation可以加在那些元素上
    ElementType.Type:接口和类
    ElementType.FIELD 属性
    ElementType.METHOD 方法
    ElementType.PARAMETER属性
    ElementType.CONSTRUCTOR 构造函数
    ElementType.LOCAL_VARIABLE 局部变量
    ElementType.ANNOTATION_TYPE 注解
    ElementType.PACKAGE包

    @Retention 用于设置此注解的生命周期

    @Retention 是决定注解的存活周期的
    RetentionPolicy.RUNTIME 是从源文件 到编译文件 到字节码文件一直存活对的 javac不会去掉改注解 类加载器也不会去掉该注解
    RetentionPolicy.CLASS 存在于源文件和编译后的文件 在类加载器加载的时候会去掉注解
    RetentionPolicy.SOURCE 只存在于源文件 该注解是给编译器看的 编译器处理完过后 就会将注解去掉 如Override

    注解中可设置属性

    基本数据类型 数组  枚举类型   属性可以设置缺省值   value属性 可以省略value和等号 

    /**
    *定义基本属性 可以定义缺省值 若没有缺省值 在定义注解的时候 就要赋值
    *value属性 可以再增加注解时省略value字段 的赋值
    */
    String value()default "123";
    String color()default "bule";
    /**数组类型的属性*/
    int[] arrayAttr() default {1,2,3};
    /**枚举类型的属性*/
    EumTrafficLamp lamp() default EumTrafficLamp.RED;

     

    ---恢复内容结束---

  • 相关阅读:
    Spring-AOP
    spring学习笔记
    费曼学习法:学习任何知识的好方法
    Spring学习
    Spring学习笔记
    Markdown学习(Typora)
    2020-07-16日报博客
    2020-07-15日报博客
    2020-07-14日报博客
    2020-07-13日报博客
  • 原文地址:https://www.cnblogs.com/xiatc/p/9318774.html
Copyright © 2011-2022 走看看