public class ConfigManage {
private static final Logger logger = Logger.getLogger(ConfigManage.class);
private static ConfigManage singleton;
public static final String PARAM1 = "param1";
public static final String PARAM2 = "param2";
private static Hashtable<String, String> confAttris;
private ConfigManage () {
initConfig();
}
// get single object
public static synchronized ConfigManage getInstance() {
if (singleton == null) {
singleton = new ConfigManage ();
}
return singleton;
}
public String getValueByKey(String key) {
if (confAttris == null) {
initConfig();
}
return confAttris.get(key);
}
//初始化
private void initConfig() {
ResourceBundle rb = ResourceBundle.getBundle( "webconfig", Locale.ENGLISH);
confAttris = new Hashtable<String, String>();
try {
Enumeration iter = rb.getKeys();
while (iter.hasMoreElements()) {
String key = (String) iter.nextElement();
System.out.println("key:" + key);
confAttris.put(key, rb.getString(key));
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
测试:
ConfigManage.getInstance().getValueByKey(ConfigManage.PARAM1);
初始化还可以使用io操作如下:
java.io.InputStream inputStream = Thread.currentThread().getContextClassLoader().getResourceAsStrea("webconfig.properties");
java.util.Properties props = new java.util.Properties();
props.load(inputStream);
props.getProperty(ConfigManage.PARAM1);