当前位置:   article > 正文

JAVA单例模式读取properties配置文件_java 开启ties模式

java 开启ties模式
前段时间出差去做一个数据接口的项目,有很多参数需要从工程中的配置文件system-config.proterties文件中读取,每个类中几乎都需要用到,于是就考虑把配置文件的配置项全部一次性的读取出来,存放在一个Map中。首先想到了就是单例模式。这样比较节省资源。在查找了一些资料之后,开始动手写了,贴出代码:
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.Map;
import java.util.Properties;


public class SystemConfigUtil {
private static SystemConfigUtil systemConfigUtil = null;
private static Map<String, String> proMap = new HashMap<String, String>();

private SystemConfigUtil() {
File file = new File("src\\system-config.properties");
InputStream is = null;
Properties pro = new Properties();

try {
is = new FileInputStream(file);
pro.load(is);
Enumeration e = pro.propertyNames();
while (e.hasMoreElements()) {
String key = (String) e.nextElement();
String value = (String) pro.get(key);
proMap.put(key, value);

}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
is.close();//千万别忘了关闭资源哦!
} catch (IOException e) {
e.printStackTrace();
}
}

}

public static SystemConfigUtil getInstance() {
if (systemConfigUtil == null) {
systemConfigUtil = new SystemConfigUtil();
}
return null;
}

public static Map<String, String> getProMap() {
return proMap;
}

public static void main(String[] args) {
//写一个main方法,来验证一下
SystemConfigUtil d1 = SystemConfigUtil.getInstance();
SystemConfigUtil d2 = SystemConfigUtil.getInstance();
System.out.println(d1 == d2);
Map m1 = d1.getProMap();
Map m2 = d2.getProMap();
System.out.println(m1 == m2);
System.out.println(m1.get("ip"));
}
}

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/157731
推荐阅读
相关标签
  

闽ICP备14008679号