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); }}
原文地址:https://www.cnblogs.com/newcityboy/p/11324632.html
时间: 2024-10-11 12:44:20