本文主要研究的是Java中的Configuration类的用法,涉及maven自动加载,pom.xml配置和简单的Java代码,具体如下。
properties文件是Java平台默认的配置文件格式,其优点是格式清晰,简单易懂,使用commons-configuration读取properties文件也比较简单,代码如下:
基本用法:
1.加载jar包,我使用maven自动加载,pom.xml配置如下:
1
2
3
4
5
6
7
8
9
10
11
|
< dependency >
< groupId >commons-configuration</ groupId >
< artifactId >commons-configuration</ artifactId >
< version >1.9</ version >
</ dependency >
<!-- commons-configuration 自动加载的是2.1的版本,编译时会报错,所以再加上这个 -->
< dependency >
< groupId >commons-lang</ groupId >
< artifactId >commons-lang</ artifactId >
< version >2.6</ version >
</ dependency >
|
common-lang这个包要用新版的,如果不写这个依赖,commons-configuration会下载一个2.1旧版,导致编译出错
2.java代码:
1
2
|
PropertiesConfiguration config = new PropertiesConfiguration(“/database.properties”);
String userName = config.getString( "name" );
|
除了getString()方法外,还有getBoolean,getDouble,getInteger等不同返回类型的方法可以调用。
进阶用法:
一个项目有会有多个配置文件,这时有个统一的配置文件管理类就很有必要了,我写了一个简单的,大家可以参考下,有不妥的用法也请指出来
1.java类
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
package com.xxx.xxx.util;
import java.util.HashMap;
import java.util.Map;
import org.apache.commons.configuration.ConfigurationException;
import org.apache.commons.configuration.PropertiesConfiguration;
/**
* <p>
* 读取配置文件类
* </p>
* <p>
* 根据配置文件名和属性key返回属性内容,configUtil.get(configFile, property);
* </p>
* @author shengzhi.rensz
*
*/
public class configUtil {
private static configUtil initor = new configUtil();
private static Map<String, Object> configMap = new HashMap<String, Object>();
private configUtil() {
}
/**
* 获取内容
* @param configFile
* @param property
* @return
*/
public static String get(String configFile, String property) {
if (!configMap.containsKey(configFile)) {
initor.initConfig(configFile);
}
PropertiesConfiguration config = (PropertiesConfiguration) configMap.get(configFile);
String value = config.getString(property);
//TODO LOG
return value;
}
/**
* 载入配置文件,初始化后加入map
* @param configFile
*/
private synchronized void initConfig(String configFile) {
try {
PropertiesConfiguration config = new PropertiesConfiguration(configFile);
configMap.put(configFile, config);
}
catch (ConfigurationException e) {
e.printStackTrace();
}
}
}
|
2.调用方法
1
|
configUtil.get( "/common/velocity.properties" , "input.encoding" );
|
1
2
3
4
|
public static void readProperties() throws ConfigurationException {
PropertiesConfiguration pcfg = new PropertiesConfiguration( "config/cfg.properties" );
System.out.println(pcfg.getString( "platform.jre" ));
}
|
注意,这里的路径一定要搞清楚,配置文件是放在config文件夹中的;
总结
以上就是本文关于JAVA中的Configuration类详解的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!
原文链接:http://www.cnblogs.com/mr-wuxiansheng/p/8018184.html