1、PropertyUtils工具类
package com.iss.itreasury.syscore.utils;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.Properties;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.Resource;
import org.springframework.util.DefaultPropertiesPersister;
import org.springframework.util.PropertiesPersister;
/**
* Properties Util函数.
*
* @author leiyang3
*/
public class PropertyUtils {
private static final String DEFAULT_ENCODING = "UTF-8";
private static Logger logger = LoggerFactory.getLogger(PropertyUtils.class);
private static PropertiesPersister propertiesPersister = new DefaultPropertiesPersister();
/**
* 载入多个ClassPath中的properties文件, 相同的属性将会覆盖之前的载入.
* @see org.springframework.beans.factory.config.PropertyPlaceholderConfigurer
*/
public static Properties loadProperties(String... locations) throws IOException {
Properties props = new Properties();
for (String location : locations) {
logger.debug("Loading properties file from classpath:" + location);
InputStream is = null;
try {
Resource resource = new ClassPathResource(location);
is = resource.getInputStream();
propertiesPersister.load(props, new InputStreamReader(is, DEFAULT_ENCODING));
} catch (IOException ex) {
logger.info("Could not load properties from classpath:" + location + ": " + ex.getMessage());
} finally {
if (is != null) {
is.close();
}
}
}
return props;
}
}
2、使用方法
package com.iss.itreasury.test;
import java.io.IOException;
import java.util.Properties;
import com.iss.itreasury.syscore.utils.PropertyUtils;
public class TestProperty {
private static Properties properties = null;
private static final String[] filePath = {"sms2Config.properties","application.properties"};
public static String getItem(String key){
if(properties == null){
try {
properties = PropertyUtils.loadProperties(filePath);
} catch (IOException e) {
e.printStackTrace();
}
}
return properties.getProperty(key);
}
public static void main(String[] args) {
String oPstation = TestProperty.getItem("op_station");
String shortMessageFunctionId = TestProperty.getItem("shortMessageFunctionId");
String ftpserverIp = TestProperty.getItem("ftpserver.ip");
System.out.println(oPstation);
System.out.println(shortMessageFunctionId);
System.out.println(ftpserverIp);
}
}
3、property文件(src根目录下)
1、application.properties
#ftp server config
ftpserver.ip=10.80.0.228
ftpserver.username=yoyo
ftpserver.password=123456
ftpserver.port=
2、sms2Config.properties
#发送短信功能号
shortMessageFunctionId=520005
op_station=192.168.0.1
sslvpn=sslvpn
gl_channel_level=3653
gl_send_level=2
gl_iswap =0
gl_wapurl =