zoukankan      html  css  js  c++  java
  • 注解 annotation

    1:作用

      特殊标记,这些标记可以在编译,类加载,运行时被读取(需要指定"作用时期")

    2:元注解

      @Retention

        标记时期(编译,类加载,运行时),只能有1个

        RetentionPolicy.SOURCE      注解存在于源代码中,编译时会被抛弃
        RetentionPolicy.CLASS       注解会被编译到class文件中,但是JVM会忽略
        RetentionPolicy.RUNTIME     JVM会读取注解,同时会保存到class文件中

      @Target

        作用范围(类,构造器,属性,方法,参数....)  ,可以设置多个

       ElementType.TYPE             用于类,接口,枚举但不能是注解
       ElementType.FIELD            作用于字段,包含枚举值
       ElementType.METHOD           作用于方法,不包含构造方法
       ElementType.PARAMETER          作用于方法的参数
       ElementType.CONSTRUCTOR         作用于构造方法
       ElementType.LOCAL_VERIABLE       作用于本地变量或者catch语句
       ElementType.ANNOTATION_TYPE      作用于注解
       ElementType.PACKAGE           作用于包

      @Documented 

        用于指定该元annotation修饰的annotation类将被Javadoc工具提取成文档,就是你定义的注解有@Documented
        修饰,在自动提取API文档时,文档的方法会带有这个注解

      @Inherited

        该元annotation指定被它修饰的annotation将具有继承性,例如使用该元注解自定义的annotation,在修饰
          了一个类后,该类的子类则默认使用你自定义的注解

    3:自定义注解

        @Retention(RetentionPolicy.RUNTIME)
        @Target({ElementType.FIELD,ElementType.METHOD})  //作用在字段上
        public @interface NeedSetValue {
          
          String value() default "zsc"; //有默认值的属性
        Class beanClass();
    // 需要去哪个class中调用 (userName的属性从)     String method(); // 需要调用class中的哪个方法     String param(); // 调用方法的参数     String targetField(); //调用方法后需要哪个值(为了set到添加该注解的属性上) }

    4:利用反射获取属性值(反射学习) https://www.cnblogs.com/draymond/p/12499841.html

    5:aop+注解+反射  自动对数据库查询不到的值赋值

        (订单详情页面:订单信息+用户信息 

         单表查订单详情,没有用户信息的;使用代理的方式,自动注入用户信息)

        地址:待续

        本篇参考地址参考:https://www.jianshu.com/p/65ef3f59841f

                      https://www.runoob.com/w3cnote/java-annotation.html

  • 相关阅读:
    保护【大数据】应用的步骤和工具
    提高UI设计效率的4个技巧
    你学会UI设计了吗?
    Android 零散知识点整理
    PHP面试和PHP开发者都应掌握的10个问题
    MySQL 中如何存储 emoji ?
    想在网上保持匿名?教你用Linux如何实现!
    数据库入门之运行原始 SQL 查找
    PHP之取得当前时间函数方法
    【在线】使用在线软件来完成任务
  • 原文地址:https://www.cnblogs.com/draymond/p/12499670.html
Copyright © 2011-2022 走看看