1.新建application.properties
name=solin
2.使用以下程序获取配置信息
InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream("application.properties");
Properties p = new Properties();
try {
p.load(inputStream);
} catch (IOException e1) {
e1.printStackTrace();
}
System.out.println("name:"+p.getProperty("name"));
3.完善获取配置
public class Config {
private static final Log logger = LogFactory.getLog(Config.class);
private static HashMap<String, Properties> propMap = new HashMap();
private static Properties loadProperties(String fileName) {
InputStream in = null;
if (in == null) {
in = Config.class.getClassLoader().getResourceAsStream(fileName + ".properties");
if (logger.isInfoEnabled()) {
logger.info("load properties file:" + fileName + ".properties");
}
}
Properties prop = null;
try {
if (in != null) {
prop = new Properties();
prop.load(in);
}
} catch (IOException e) {
e.printStackTrace();
logger.error(e);
}
return prop;
}
public static String getProperty(String key, String fileName) {
Properties prop = null;
prop = (Properties) propMap.get(fileName);
if (prop == null) {
synchronized (Config.class) {
if (propMap.get(fileName) == null) {
prop = loadProperties(fileName);
if (prop != null) {
propMap.put(fileName, prop);
}
} else {
prop = (Properties) propMap.get(fileName);
}
}
}
if (prop == null) {
return "";
}
String str = prop.getProperty(key);
return str == null ? "" : str;
}
public static void main(String[] args) {
System.out.println("key:" + getProperty("name", "application"));
}
}

被折叠的 条评论
为什么被折叠?



