1.在src目录下创建配置文件 config.properties (文件名自定义,扩展名为properties)
注意:该配置文件用于指明运行那个类的哪个方法
ClassName=com.huhai.Dog
MethodName=eat
2.编写实体类(业务类)代码
package com.huhai;
public class Dog {
public void eat(){
System.out.println("二哈开始吃饭了");
}
}
3.编写核心代码
package com.huhai;
import java.io.IOException;
import java.io.InputStream;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.Properties;
public class Realize {
public static void main(String[] args) throws IOException, ClassNotFoundException, IllegalAccessException, InstantiationException, NoSuchMethodException, InvocationTargetException {
Properties pro = new Properties();
//获取本类的类加载器对象
ClassLoader loader = Realize.class.getClassLoader();
//利用类加载器对象获取配置文件
InputStream in = loader.getResourceAsStream("config.properties");
//利用Properties加载配置文件
pro.load(in);
//获取配置文件的内容
String className = pro.getProperty("ClassName");
String methodName = pro.getProperty("MethodName");
//用反射加载类,并且创建对象、执行方法
//得到类名
Class myClass = Class.forName(className);
//得到方法名
Method method = myClass.getMethod(methodName);
//构造对象
Object obj = myClass.newInstance();
//运行指定类的指定方法
method.invoke(obj);
}
}