原因:当多个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);
}
}