700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 读取自定义配置文件属性值

读取自定义配置文件属性值

时间:2020-02-17 15:17:26

相关推荐

读取自定义配置文件属性值

Spring Boot 项目,读取自定义配置文件属性

1、pom.xml 需要引入的 jar2、自定义 config.properties 配置文件3、工具类4、测试调用

1、pom.xml 需要引入的 jar

以下相关 jar 可根据实际情况做相应替换

<dependency><groupId>mons</groupId><artifactId>commons-lang3</artifactId><version>3.4</version></dependency><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-log4j12</artifactId><version>1.7.21</version></dependency><dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version>1.2.17</version></dependency>

2、自定义 config.properties 配置文件

config.properties 放在 resources 目录下

config.properties 文件内容,根据相关需要自定义

sms.url=sms.port=8887sms.accountsid=fdgh4df2hd12sdf56rhd2gh1rt2y1r2esms.accounttoken=25r54f4dh4fd4612rty1we5y4554e2wesms.appid=454jenlk43n65n67k64n7l54n7nlnl33

3、工具类

PropsUtil.class 工具类 :

import org.apache.log4j.Logger;import java.io.FileNotFoundException;import java.io.IOException;import java.io.InputStream;import java.util.Properties;/***属性文件工具类*/public final class PropsUtil {private static final Logger logger = Logger.getLogger(PropsUtil.class);/***属性文件工具类*/public static Properties loadProps(String fileName){Properties props=null;InputStream is=null;try {is=Thread.currentThread().getContextClassLoader().getResourceAsStream(fileName);if(null==is){throw new FileNotFoundException(fileName+"file is not found!");}props=new Properties();props.load(is);} catch (IOException e) {logger.error("load properties file failure",e);}finally{try {is.close();} catch (IOException e) {logger.error("close input stream failure",e);}}return props;}/** 获取字符型属性(默认值为空字符串)*/public static String getString(Properties props,String key){return getString(props,key,"");}/** 获取字符型属性(可指定默认值)*/public static String getString(Properties props,String key,String defaultValue){String value=defaultValue;if(props.containsKey(key)){value=props.getProperty(key);}return value;}/** 获取数值型属性(默认值为0)*/public static int getInt(Properties props,String key){return getInt(props,key,0);}/** 获取数值型属性(可指定默认值)*/public static int getInt(Properties props,String key,int defaultValue){int value=defaultValue;if(props.containsKey(key)){value=CastUtil.castInt(props.getProperty(key));}return value;}/** 获取布尔型属性(默认为false)*/public static boolean getBoolean(Properties props,String key){return getBoolean(props,key,false);}/** 获取布尔型属性(可指定默认值)*/public static boolean getBoolean(Properties props,String key,Boolean defaultValue){boolean value=defaultValue;if(props.containsKey(key)){value=CastUtil.castBoolean(props.getProperty(key));}return value;}}

CastUtil.class 工具类:

import mons.lang3.StringUtils;/** 转型操作工具类*/public final class CastUtil {/** 转为String类*/public static String castString(Object obj){return CastUtil.castString(obj,"");}/** 转为String类(提供默认值)*/public static String castString(Object obj,String defaultValue){return obj != null ? String.valueOf(obj) : defaultValue;}/** 转为double型*/public static double castDouble(Object obj){return CastUtil.castDouble(obj,0);}/** 转为double型,提供默认值*/public static double castDouble(Object obj,double defaultValue){double doubleValue=defaultValue;if(obj!=null){String strValue =castString(obj);if(StringUtils.isNotEmpty(strValue)){try {doubleValue=Double.parseDouble(strValue);} catch (NumberFormatException e) {doubleValue=defaultValue;}}}return doubleValue;}/** 转为long型*/public static long castLong(Object obj){return CastUtil.castLong(obj,0);}/** 转为long型,提供默认值*/public static long castLong(Object obj,long defaultValue){long longValue=defaultValue;if(obj!=null){String strValue=castString(obj);if(StringUtils.isNotEmpty(strValue)){try {longValue=Long.parseLong(strValue);} catch (NumberFormatException e) {longValue=defaultValue;}}}return longValue;}/** 转为int型*/public static int castInt(Object obj){return CastUtil.castInt(obj,0);}/** 转为int型(提供默认值)*/public static int castInt(Object obj,int defaultValue){int intValue=defaultValue;if(obj!=null){String strValue=castString(obj);if(StringUtils.isNotEmpty(strValue)){try {intValue=Integer.parseInt(strValue);} catch (NumberFormatException e) {intValue=defaultValue;}}}return intValue;}/** 转为boolean型*/public static boolean castBoolean(Object obj){return CastUtil.castBoolean(obj,false);}/** 转为boolean型(提供默认值)*/public static boolean castBoolean(Object obj,boolean defaultValue){boolean booleanValue=defaultValue;if(obj!=null){booleanValue=Boolean.parseBoolean(castString(obj));}return booleanValue;}}

4、测试调用

import com.xxx.xx.util.PropsUtil;/*** @author * @title: GetConfigValue* @description: TODO* @date /8/15 12:52*/public class GetConfigValue {public static void main(String[] args) {// 获取自定义配置文件 config.properties 中的 sms.url 属性值String smsUrl =PropsUtil.getString(PropsUtil.loadProps("config.properties"),"sms.url");System.out.println("sms.url 的值为:" + smsUrl);// 获取自定义配置文件 config.properties 中的 sms.port 属性值String amsPort =PropsUtil.getString(PropsUtil.loadProps("config.properties"),"sms.port");System.out.println("sms.port 的值为:" + amsPort);}}

运行结果:

读取自定义配置文件成功 ~ ~

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。