• 阶段1 语言基础+高级_1-3-Java语言高级_09-基础加强_第3节 注解_17_注解_解析注解



    注解定义了这些属性和属性值。定义了这些值一定期望在程序运行过程中,可以把这些属性值拿出来用一用

    注解代替配置文件

    复制之前创建的ReflectTest这个类。




    之前反射Test是读取配置文件拿到className和Method。现在以后了注解以后,我们可以把配置文件的工作交给注解来完成,来简化我们配置的操作。
    在后期,注解大部分都是用来替换配置文件。

    也就是说有了注解以后,下面选中的这块 红色框选的这块代码就可以不用写了。


    把代码都删掉。

    我们以前用配置文件定义的这两个属性

    新建一个注解类

    会自动生成@interface




    并期望保留在runntime阶段。

    新建一个Demo1的类,里面定义一个show方法

    复制一个Demo1的类,叫做Demo2



    报名和方法名通过注解的方式 配置上。期望告诉ReflectTest这个类 去执行配置的 包下的类的show方法

    解析注解

    根据注定的类型获取注解

    获取该类上定义的所有注解。



    注解里面本来定义的就是抽象方法。起名叫做属性。

    对象拿到了方法可以试着去调用。
    下面这样就拿到了className

    为什么注解对象可以调用方法呢?
    Pro本质上是一个接口。在内存中,搞了个子类的实现对象,实现了Pro这个接口。并且这个接口里面搞了一些方法


    重写方法返回值是String类型的

    那么这两个返回的值到底是谁呢?

    就要看用这个注解的类 配置的是什么?就是返回值






    an.className()相当于就是返回的cn.itcast.annotation.Demo1




    运行程序


    把阵列的注解删掉即可。这个类和我们当前运行的案例没有啥关系。


    继续运行ReflectTest这个类



    拿到两个属性值之后,剩下的代码我们直接复制过来就可以了。



    show方法被正常的调用了。


    如果注解定义在方法上了。method也有这两个方法

    总结:




     

  • 相关阅读:
    博客推荐
    2018
    2018
    学习推荐-Postgresql学习手册
    学习推荐-Redis学习手册
    odoo开发笔记 -- odoo源码解析
    前沿技术相关
    odoo开发笔记-tree列表视图拖拽排序
    odoo开发笔记-日期时间相关操作
    odoo开发笔记 -- 官方模块一览表
  • 原文地址:https://www.cnblogs.com/wangjunwei/p/11290257.html
Copyright © 2020-2023  润新知