项目配置文件properties、yml配置文件获取Key参数的值工具类
前言
一、什么是properties配置文件?
介绍:在我们的项目当中,通常需要一些常量参数,然后在程序中使用常量参数,但是如何获取呢,下面介绍实现方式。
二、创建工具类
1.创建 IfbPropertiesUtil.java工具类
代码如下:读取zhx.properties配置文件
package com.ruimin.ifb.util;
import java.io.InputStream;
import java.util.Properties;
import org.apache.commons.lang.StringUtils;
import org.slf4j.Logger;
import com.ruimin.ifs.core.log.SnowLog;
public class IfbPropertiesUtil {
private static final Logger logger = SnowLog.getLogger(IfbPropertiesUtil.class);
private static final String configPath = "/zhx.properties";
private static Properties prop = null;
private static void init() throws Exception {
InputStream in = null;
try {
in = IfbPropertiesUtil.class.getResourceAsStream(configPath);
if (in != null) {
prop = new Properties();
prop.load(in);
in.close();
in = null;
}
if (prop == null) {
throw new Exception("read [" + configPath + "] failed!");
}
} finally {
if (in != null) {
in.close();
}
}
}
public static String getString(String key) {
try {
if (prop == null) {
init();
}
return prop.getProperty(key);
} catch (Exception e) {
logger.error(e.getMessage(), e);
}
return null;
}
public static Integer getInt(String key) {
try {
if (prop == null) {
init();
}
return Integer.valueOf(prop.getProperty(key));
} catch (Exception e) {
logger.error(e.getMessage(), e);
}
return null;
}
public static boolean getBoolean(String key) {
String val = getString(key);
return "true".equalsIgnoreCase(val) || "1".equalsIgnoreCase(val) || "Y".equalsIgnoreCase(val);
}
public static boolean getBoolean(String key, boolean defValue) {
String val = getString(key);
if (val == null) {
return defValue;
} else {
return getBoolean(key);
}
}
public static String getString(String key, String defValue) {
try {
if (prop == null) {
init();
}
if (prop.containsKey(key)) {
return prop.getProperty(key);
}
} catch (Exception e) {
logger.error(e.getMessage(), e);
}
return defValue;
}
public static Properties getProperty() {
try {
if (prop == null) {
init();
}
} catch (Exception e) {
logger.error(e.getMessage(), e);
}
return prop;
}
}
2.测试实现效果
1、配置文件参数 SystemFlg
package test;
import com.ruimin.ifb.util.IfbPropertiesUtil;
public class ZhxCeshi {
public static void main(String[] args) {
String systemFlg = IfbPropertiesUtil.getString("SystemFlg");
System.out.println("properties配置文件 SystemFlg 的参数为:"+systemFlg);
}
}
2、结果截图
总结
提示:可以复制代码,创建工具类 ,在项目当中引用即可实现功能,不要单独处理,使用工具类避免代码侵入性太高,复用性不高:
|