美文网首页
浅谈Java中的注解

浅谈Java中的注解

作者: cp_insist | 来源:发表于2017-01-01 21:55 被阅读0次

    引言:Java中注解使我们学习框架是常常用到的概念之一;随着自己学习java的时间积累,对它的认识越来越清晰,今天又重新温习了以便Java的注解:所以记下如下笔记:

    一:什么是Java注解?

    • 1:java注解是Java的特性之一,也叫元数据。一种代码级别的说明。它是JDK1.5及以后版本引入的一个特性,与类、接口、枚举是在同一个层次。它可以声明在包、类、字段、方法、局部变量、方法参数等的前面,用来对这些元素进行说明,注释。
      语法:@注解名称
      注解的作用:替代xml配置文件!
      servlet3.0中,就可以不再使用web.xml文件,而是所有配置都使用注解!
      注解是由框架来读取使用的!

    二:怎么使用

    • 1:定义注解类:
    • 1.1:注解里面的属性只能为以下类型:
      • <1>:8中基本数据类型
      • <2>:String类型
      • <3>:class类型
      • <4>:注解类型
      • <5>:枚举类型
      • <6>:以上类型的一维数组类型

    @interface myAnnoa{
    String name();
    int age() default 23;
    }
    //注意:有默认值的我们再赋值时可以不用写
    @myAnnoa(name='陈鹏',age=22)
    public class demo{
    }

     + 1.2:注解的适用范围:
      注解的作用目标:
        * <1>类 ElementType.TYPE,
        * <2>方法  ElementType.METHOD
        * <3>构造器 ElementType.CONSTRUCTOR
        * <4>参数 ElementType.PARAMETER
        * <5>局部变量 ElementType.LOCAL_VARIABLE
        * <6>包 ElementType.PACKAGE
        * <7>属性 ElementType.FIELD
        * <8>注解类型  ElementType.ANNOTATION_TYPE
    通过适用关键字@Target里面的ElementType类确定
    

    @Target(value={ElementType.TYPE, ElementType.METHOD, ElementType.FIELD})
    @interface MyAnno1 {
    }

    PS:属性名字为value时;在给注解类型赋值时可以不用使用键直接赋值即可
    如:
    

    @Target(ElementType.TYPE, ElementType.METHOD, ElementType.FIELD)
    @interface MyAnno1 {
    }

     + 1.3: 注解保留策略
       * 源代码文件(SOURCE):注解只在源代码中存在,当编译时就被忽略了
       * 字节码文件(CLASS):注解在源代码中存在,然后编译时会把注解信息放到了class文件,但JVM在加载类时,会忽略注解!
       * JVM中(RUNTIME):注解在源代码、字节码文件中存在,并且在JVM加载类时,会把注解加载到JVM内存中(它是唯一可反射注解!)
      限定注解的保留策略语法:
    

    @Retention(RetentionPolicy.RUNTIME)

    相关文章

      网友评论

          本文标题:浅谈Java中的注解

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