目前开发越来越流行可配置化,所以越来越多的配置,写到了配置文件里面,针对这个方法,写了一个配置文件操作类。
PropertyUtil.java
import com.feilong.core.Validator;
import java.io.IOException;
import java.io.InputStream;
import java.util.HashMap;
import java.util.Map;
import java.util.Properties;
/**
* 获取配置文件参数工具类
* 拥有缓存功能,当查询了某个文件时会自动缓存
* @author wei.liu
* @Date 2019/5/20
*/
public class PropertyUtil {
private static Map<String, Properties> cache = new HashMap<>();
/**
*
* @param configFileName 配置文件名
* @param key 配置文件中的 key=value 中的key
* @return
*/
public static String get(String configFileName,String key){
return getProperties(configFileName).getProperty(key);
}
public static Properties getProperties(String configFileName) {
if (Validator.isNotNullOrEmpty(cache.get(configFileName))) {
return cache.get(configFileName);
}
InputStream inputStream = PropertyUtil.class.getResourceAsStream(configFileName);
Properties properties = new Properties();
try {
properties.load(inputStream);
} catch (IOException e) {
e.printStackTrace();
}
cache.put(configFileName,properties);
return properties;
}
}