本文主要研究的是Java中的Configuration類的用法,涉及maven自動加載,pom.xml配置和簡單的Java代碼,具體如下。
properties文件是Java平臺默認的配置文件格式,其優(yōu)點是格式清晰,簡單易懂,使用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等不同返回類型的方法可以調用。
進階用法:
一個項目有會有多個配置文件,這時有個統(tǒng)一的配置文件管理類就很有必要了,我寫了一個簡單的,大家可以參考下,有不妥的用法也請指出來
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類詳解的全部內容,希望對大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站其他相關專題,如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!
原文鏈接:http://www.cnblogs.com/mr-wuxiansheng/p/8018184.html