原因:當多個Java從一個properties文件中讀取某個屬性的值時,菜鳥就會在每個java類里都寫一次取值的過程,這樣導致的后果:假如我要修個文件的路徑或者這個屬性的名稱,那么我會遇到一些麻煩,要一個個java文件去找并修改,很容易導致有一些類沒有被修改而出錯,無疑會增加了自己的工作量。
解決方案:假如我用一個類專門負責從properties文件取得值,那么properties有什么改動,我只要修改這個類就行了,這樣簡單,快捷,高效。簡單案例如下
1.setting.properties文件有如下屬性
username=test
password=123
2.Setting.java類負責從屬性文件讀取屬性的值
importjava.util.ResourceBundle;
publicclassSetting?{
publicstaticjava.lang.String?getValue(java.lang.String?key)?{
//?TODO:?implement
returngetPropertyFromFile("dna.conf.setting",?key);//記得修改文件路徑
}
publicstaticString?getPropertyFromFile(String?filename,?String?key)?{
try{
ResourceBundle?rb?=?ResourceBundle.getBundle(filename);
returnrb.getString(key).trim();
}catch(Exception?e)?{
//e.printStackTrace();
return"";
}
}
}
3.Constants.java類負責保存從屬性文件取得的屬性值,保存為常量
publicclassConstants?{
publicfinalstaticString?USERNAME=?Setting.getValue("username");
publicfinalstaticString?PASSWORD?=?Setting.getValue("password");
}
4.在java類中使用方法如下
publicclassTest{
publicstaticvoidmain(String[]?args)?{
String?username=Constants.USERNAME;
System.out.pring(username);
}
}