zoukankan      html  css  js  c++  java
  • 利用反射和配置文件结合的方式,动态切换方法运行的案列

    package com.itcast.reflect;

    import java.io.InputStream;
    import java.lang.reflect.Method;
    import java.util.Properties;

    /**
    * @author newcityman
    * @date 2019/8/8 - 23:07
    * 框架类:利用反射和properties配置文件结合的方式
    * 在不改变java代码的情况下,通过修改配置文件的方法,来改变运行方法的切换
    */
    public class RefelectTest {
    public static void main(String[] args) throws Exception {
    // 1、可以创建任意的对象,执行任意的方法
    // 1.1创建properties对象
    Properties pro = new Properties();
    // 1.2加载配置文件,转换为一个集合
    // 1.2.1获取class目录下的配置文件
    ClassLoader classLoader = RefelectTest.class.getClassLoader();
    InputStream is = classLoader.getResourceAsStream("pro.properties");
    pro.load(is);
    // 2、获取配置文件中定义的数据
    String className = pro.getProperty("className");
    String methodName = pro.getProperty("methodName");
    // 3、加载该类进内存
    Class cls = Class.forName(className);
    // 4、创建对象
    Object obj = cls.newInstance();
    // 5、获取对象
    Method method = cls.getMethod(methodName);
    method.invoke(obj);

    }
    }
  • 相关阅读:
    kafka
    yum-nginx
    expect
    ubuntu快捷方式
    10,zzlian爬取
    9-豆瓣电影
    8selenium
    7,pyquery获取数据
    6,BeautifulSoup-获取数据
    5-正则匹配获取数据
  • 原文地址:https://www.cnblogs.com/newcityboy/p/11324632.html
Copyright © 2011-2022 走看看