原因:当多个java从一个properties文件中读取某个属性的值时,菜鸟就会在每个java类里都写一次取值的过程,这样导致的后果:假如我要修个文件的路径或者这个属性的名称,那么我就会遇到一些麻烦,要一个个java文件去找并修改,很容易导致有一些类没有被修改而出错,无疑会增加了自己的工作量。
解决方案:假如我用一个类专门负责从properties文件取得值,那么properties有什么改动,我只要修改这个类就行了,这样简单,快捷,高效。简单案例如下
1.setting.properties文件有如下属性
username=test
password=123
2.Setting.java类负责从属性文件读取属性的值
import java.util.ResourceBundle;
public class Setting {
public static java.lang.String getValue(java.lang.String key) {
// TODO: implement
return getPropertyFromFile("dna.conf.setting", key); //记得修改文件路径
}
public static String getPropertyFromFile(String filename, String key) {
try {
ResourceBundle rb = ResourceBundle.getBundle(filename);
return rb.getString(key).trim();
} catch (Exception e) {
//e.printStackTrace();
return "";
}
}
}
3.Constants.java类负责保存从属性文件取得的属性值,保存为常量
public class Constants {
public final static String USERNAME= Setting.getValue("username");
public final static String PASSWORD = Setting.getValue("password");
}
4.在java类中使用方法如下
public class Test{
public static void main(String[] args) {
String username=Constants.USERNAME;
System.out.pring(username);
}
}