1.首先我们需要在resources文件夹下新建一个包,并新建一个文件address.properties
2.在你的配置文件中写你的参数名和参数值
3.创建一个工具类去获取properties配置中的值。代码如下:
package com.xxl.job.executor.service.util;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* @author zhangzihao
* @version 创建时间:2018年5月19日 下午6:14:50
* 类说明:获取address.properties的配置信息
*/
public class MyPropertyUtil {
//文件名
private static String properiesName = "config/address.properties";
//文件中的接口地址名(键)
private static String urlKey = "agv.project.url";
public MyPropertyUtil() {
}
private static final Logger logger = LoggerFactory.getLogger(MyPropertyUtil.class);
private static Properties props;
static{
loadProps();
}
/**
* 加载properties文件
*/
synchronized static private void loadProps(){
// logger.info("开始加载properties文件内容.......");
props = new Properties();
InputStream in = null;
try {
// 要加载的属性文件
//注意路径(该路径是)
in = MyPropertyUtil.class.getClassLoader().getResourceAsStream(properiesName);
props.load(in);
} catch (FileNotFoundException e) {
logger.error("address.properties文件未找到");
} catch (IOException e) {
logger.error("出现IOException");
} finally {
try {
if(null != in) {
in.close();
}
} catch (IOException e) {
logger.error("address.properties文件流关闭出现异常");
}
}
}
/**
* 获取文件中的值
* @param key 参数名
* @return
*/
public static String getProperty(String key){
if(null == props) {
loadProps();
}
return props.getProperty(key);
}
/**
* 获取文件中的值
* @param key 参数名
* @param defaultValue 默认值
* @return
*/
public static String getProperty(String key, String defaultValue) {
if(null == props) {
loadProps();
}
return props.getProperty(key, defaultValue);
}
/**
* 获取接口项目地址
* @return
*/
public static String getURL() {
if(null == props) {
loadProps();
}
return props.getProperty(urlKey);
}
/**
* 获取接口项目地址
* @param defaultValue 默认值
* @return 地址和端口,例如:http://127.0.0.1:8080/
*/
public static String getURL(String defaultValue) {
if(null == props) {
loadProps();
}
return props.getProperty(urlKey, defaultValue);
}
public static void main(String[] args) {
// sysConfig.properties(配置文件)
System.out.println(MyPropertyUtil.getURL());
// MyPropertyUtil q = new MyPropertyUtil("resources/address.properties");
// q.writeProperty("myUtils", "wang");
System.exit(0);
}
}
注意:类中的properiesName也就是文件的路径和名称填的是: “config/address.properties”,而非resources/config/address.properties,
也不是文件的绝对路径,不然会报异常找不到文件