public class testReflex {
public static void main(String[] args) throws Exception {
//获取properties对象
Properties p = new Properties();
//通过testReflex.class 获取 classLoad
ClassLoader classLoader = testReflex.class.getClassLoader();
//通过classLoad找到包下的配置文件 application.properties ,并返回输入流
InputStream resourceAsStream = classLoader.getResourceAsStream("application.properties");
//把配置文件输入流加载到properties之中
p.load(resourceAsStream);
//获取properties 中的 类名 和 方法名
String className = p.getProperty("className");
String methodName = p.getProperty("methodName");
//通过配置文件的全类名 获取class对象
Class<?> clazz = Class.forName(className);
//class对象创建实例对象
Object obj = clazz.getDeclaredConstructor().newInstance();
//class对象通过方法名获取指定方法
Method method = clazz.getMethod(methodName);
//invoke 方法 传入实例对象
method.invoke(obj);
}
}