1、工具方法如下:
public class PropertyUtil
{
private static final Logger logger = LogManager.getLogger(PropertyUtil.class);
private static Properties props;
static
{
loadProps();
}
synchronized static private void loadProps()
{
logger.info("开始加载properties文件内容.......");
props = new Properties();
InputStream in = null;
try
{
// //<!--第一种,通过类加载器进行获取properties文件流-->
in = PropertyUtil.class.getClassLoader().getResourceAsStream("config.properties");
props.load(in);
}
catch (FileNotFoundException e)
{
logger.error("jdbc.properties文件未找到");
}
catch (IOException e)
{
logger.error("出现IOException");
}
finally
{
try
{
if (null != in)
{
in.close();
}
}
catch (IOException e)
{
logger.error("jdbc.properties文件流关闭出现异常");
}
}
logger.info("加载properties文件内容完成...........");
logger.info("properties文件内容:" + props);
}
public static String getProperty(String key)
{
if (null == props)
{
loadProps();
}
return props.getProperty(key);
}
public static String getProperty(String key, String defaultValue)
{
if (null == props)
{
loadProps();
}
return props.getProperty(key, defaultValue);
}
}
2、使用该工具类,在程序启动的时候就会将配置文件中的配置信息添加到内存中,因此需要使用到配置信息的时候,能高效率的获取到数据,但是也有个弊端,每次修改配置文件后,需要重新启动服务进行加载。
3、结论:
如果该服务有redis等缓存工具,可以考虑将配置信息添加到缓存中,或者使用数据库+redis的方式。