项目中可能会将一些需要配置的文件单独放置出来,比如xml的数据库的相关配置。
那么在java代码中如何实现类似的配置呢?我们专门建立一个properties的工具类,像map中key和value的形式来读取相应的配置。
如图:
properties文件的配置如下:
package com.mmall.until;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Properties;
/**
* Created by Administrator on 2017/10/12.
*/
public class PropertiesUtil {
private static Logger logger = LoggerFactory.getLogger(PropertiesUtil.class);
//private final Logger logger = LoggerFactory.getLogger(this.getClass());
private static Properties props;
//Tomcat运行时执行
//代码块执行顺序:静态代码块>普通代码块>构造代码块
//构造代码块每次都执行,但是静态代码块只执行一次
static {
String fileName = "mmall.properties";
props = new Properties();
try {
props.load(new InputStreamReader(PropertiesUtil.class.getClassLoader().getResourceAsStream(fileName),"UTF-8"));
} catch (IOException e) {
logger.error("配置文件读取异常",e);
}
}
//自定义俩个get方法,方便调用工具类读取properties文件的属性
public static String getProperty(String key){
String value= props.getProperty(key.trim());
if (StringUtils.isBlank(value)){
return null;
}
return value.trim();
}
public static String getProperty(String key,String defaultValue){
String value= props.getProperty(key.trim());
if (StringUtils.isBlank(value)){
value = defaultValue;
}
return value.trim();
}
}
mmall.properties文件配置:
ftp.server.ip=localhost
ftp.user=geely
ftp.pass=geely
ftp.server.http.prefix=ftp://localhost/
alipay.callback.url=http://www.happymmall.com/order/alipay_callback.do
password.salt = geelysdafaqj23ou89ZXcj@#$@#$#@KJdjklj;D../dSF.,
在java实现过程中的调用: