• 反射配置文件


    1、 通过反射配置文件,运行配置文件中指定类的对应方法

    读取config.properties文件中的数据,通过反射技术,来完成Person对象的创建

    config.properties文件内容如下

    #className=cn.itcast.demo3.Student
    #methodName=study
    className=cn.itcast.demo3.Person
    methodName=eat
    #className=cn.itcast.demo3.Worker
    #methodName=job

    下面通过测试类反射配置文件:

    /*
     *  调用Person方法,调用Student方法,调用Worker方法
     *  类不清楚,方法也不清楚
     *  通过配置文件实现此功能
     *    运行的类名和方法名字,以键值对的形式,写在文本中
     *    运行哪个类,读取配置文件即可
     *  实现步骤:
     *    1. 准备配置文件,键值对
     *    2. IO流读取配置文件  Reader
     *    3. 文件中的键值对存储到集合中 Properties
     *        集合保存的键值对,就是类名和方法名
     *    4. 反射获取指定类的class文件对象
     *    5. class文件对象,获取指定的方法
     *    6. 运行方法
     */
    public class Test {
        public static void main(String[] args) throws Exception{
            //IO流读取配置文件
            FileReader r = new FileReader("config.properties");
            //创建集合对象
            Properties pro = new Properties();
            //调用集合方法load,传递流对象
            pro.load(r);
            r.close();
            //通过键获取值
            String className = pro.getProperty("className");
            String methodName = pro.getProperty("methodName");
            //反射获取指定类的class文件对象
            Class c = Class.forName(className);
            Object obj = c.newInstance();
            //获取指定的方法名
            Method method = c.getMethod(methodName);
            method.invoke(obj);
        }
    }
  • 相关阅读:
    多尺度双边滤波及基于小波变换的非线性扩散
    yum安装CentOS7+nginx+php7.3+mysql5.7
    python学习之特殊魔法__getattr__,__getattribute__
    python学习之特殊魔法__get__,__set__,__delete__
    python学习之装饰器
    python学习之私有属性
    python学习之包装与授权
    python学习之生成器(generator)
    python学习之运用特殊方法,定制类
    python学习之创建迭代器对象
  • 原文地址:https://www.cnblogs.com/a8457013/p/8143203.html
Copyright © 2020-2023  润新知