生活随笔
收集整理的這篇文章主要介紹了
反射通过配置文件运行的步骤
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
反射配置文件
通過反射配置文件,運行配置文件中指定類的對應方法
讀取Peoperties.txt文件中的數據,通過反射技術,來完成Person對象的創建
Peoperties.txt文件內容如下:?
className=cn.itcast_01_Reflect.Person
methodName=method5
package cn.learn.demo3;public class Person {public void eat(){System.out.println("人在吃飯");}
}
package cn.learn.demo3;public class Student {public void study(){System.out.println("學生在學習");}
}
讀取配置文件,調用指定類中的對應方法?
package cn.learn.demo3;import java.io.FileReader;
import java.lang.reflect.Method;
import java.util.Properties;/** 調用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);}
}
package cn.learn.demo3;public class Worker {public void job(){System.out.println("上班族在工作");}
}
?
總結
以上是生活随笔為你收集整理的反射通过配置文件运行的步骤的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。