Java加载Properties配置文件工具类

时间:2023-12-19 09:01:56

Java加载Properties配置文件工具类

import org.apache.commons.lang3.StringUtils;
import org.apache.log4j.Logger;
import java.io.InputStream;
import java.util.HashMap;
import java.util.Map;
import java.util.Properties; /**
* Created by yang on 2017/1/5.
* 静态配置
*/
public class Constants { private static Logger logger = Logger.getLogger(Constants.class);
private static Map<String, String> configMap = null; static {
Properties pt = new Properties();
InputStream ist = null;
try {
ist = Constants.class.getClassLoader().getResourceAsStream("datasource-config.properties");
pt.load(ist);
configMap = new HashMap<String, String>(pt.keySet().size());
logger.info("Constants list:");
for (Object keyObj : pt.keySet()) {
String key = keyObj.toString();
Object objs = pt.get(key);
logger.info(key + ":" + objs);
configMap.put(key.trim(), objs.toString());
}
} catch (Exception e) {
logger.error(e.getCause());
} finally {
try {
if (null != ist) {
ist.close();
}
} catch (Exception e) {
e.printStackTrace();
}
}
} private static String getSimpleValue(String key, String defaultValue) {
String value = configMap.get(key);
if (value == null || value.trim().length() == 0) {
value = defaultValue;
}
assert StringUtils.isNotBlank(value);
return value;
} private static String getSimpleValue(String key) {
return configMap.get(key).toString();
} public static String getEsTopicHost() {
return getSimpleValue("dataSource.es.topic.host");
} public static String getEsUserLogHost() {
return getSimpleValue("dataSource.es.userlog.host");
} public static int getShardedPoolMaxTotal() {
return Integer.valueOf(getSimpleValue("redis.shardedpool.maxtotal", "20")).intValue();
} public static long getShardedPoolMaxWaitMillis() {
return Long.valueOf(getSimpleValue("redis.shardedpool.maxwaitmillis", "1000")).longValue();
} //redis
public static String getRedisHost() {
return getSimpleValue("redis.host");
} public static String getRedisPort() {
return getSimpleValue("redis.port", "6379");
} }