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;

     

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

  • 相关阅读:
    mysql 查询结果中增加序号
    mycat配置文件备份
    解决Python安装模块出错 ImportError: No module named setuptools
    sed 详解【转】
    CentOS下配置SFTP操作日志
    解决redis aof文件过大的问题
    mysql主从复制搭建中几种log和pos详解
    Linux下使用命令行配置IPMI
    Zabbix笔记
    zabbix_agentd.conf配置文件详解
  • 原文地址:https://www.cnblogs.com/xiatc/p/9318774.html
Copyright © 2011-2022 走看看