JAVA中的Configuration類詳解
本文主要研究的是Java中的Configuration類的用法,涉及maven自動(dòng)加載,pom.xml配置和簡單的Java代碼,具體如下。
properties文件是Java平臺默認(rèn)的配置文件格式,其優(yōu)點(diǎn)是格式清晰,簡單易懂,使用commons-configuration讀取properties文件也比較簡單,代碼如下:
基本用法:
1.加載jar包,我使用maven自動(dòng)加載,pom.xml配置如下:
<dependency> <groupId>commons-configuration</groupId> <artifactId>commons-configuration</artifactId> <version>1.9</version> </dependency> <!-- commons-configuration 自動(dòng)加載的是2.1的版本,編譯時(shí)會報(bào)錯(cuò),所以再加上這個(gè) --> <dependency> <groupId>commons-lang</groupId> <artifactId>commons-lang</artifactId> <version>2.6</version> </dependency>
common-lang這個(gè)包要用新版的,如果不寫這個(gè)依賴,commons-configuration會下載一個(gè)2.1舊版,導(dǎo)致編譯出錯(cuò)
2.java代碼:
PropertiesConfiguration config = new PropertiesConfiguration(“/database.properties”);
String userName = config.getString("name");
除了getString()方法外,還有g(shù)etBoolean,getDouble,getInteger等不同返回類型的方法可以調(diào)用。
進(jìn)階用法:
一個(gè)項(xiàng)目有會有多個(gè)配置文件,這時(shí)有個(gè)統(tǒng)一的配置文件管理類就很有必要了,我寫了一個(gè)簡單的,大家可以參考下,有不妥的用法也請指出來
1.java類
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>
* 根據(jù)配置文件名和屬性key返回屬性內(nèi)容,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() {
}
/**
* 獲取內(nèi)容
* @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.調(diào)用方法
configUtil.get("/common/velocity.properties", "input.encoding");
public static void readProperties() throws ConfigurationException {
PropertiesConfiguration pcfg = new PropertiesConfiguration("config/cfg.properties");
System.out.println(pcfg.getString("platform.jre"));
}
注意,這里的路徑一定要搞清楚,配置文件是放在config文件夾中的;
總結(jié)
以上就是本文關(guān)于JAVA中的Configuration類詳解的全部內(nèi)容,希望對大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站其他相關(guān)專題,如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!
相關(guān)文章
Spring實(shí)戰(zhàn)之使用Resource作為屬性操作示例
這篇文章主要介紹了Spring實(shí)戰(zhàn)之使用Resource作為屬性,結(jié)合實(shí)例形式分析了spring載人Resource作為屬性相關(guān)配置與使用技巧,需要的朋友可以參考下2020-01-01
Java中數(shù)組如何轉(zhuǎn)為字符串的幾種方法
數(shù)組是java中一個(gè)重要的類型,小伙伴們知道如何將數(shù)組轉(zhuǎn)為字符串嗎,這篇文章主要給大家介紹了關(guān)于Java中數(shù)組如何轉(zhuǎn)為字符串的幾種方法,需要的朋友可以參考下2024-03-03
java中字符串轉(zhuǎn)整數(shù)及MyAtoi方法的實(shí)現(xiàn)
這篇文章主要介紹了java中字符串轉(zhuǎn)整數(shù)及MyAtoi方法的實(shí)現(xiàn)的相關(guān)資料,需要的朋友可以參考下2017-05-05
如何在Java中實(shí)現(xiàn)一個(gè)散列表
這篇文章主要介紹了如何在Java中實(shí)現(xiàn)一個(gè)散列表,建一個(gè)HashMap,以String類型為Key,Int類型為Value,下文具體的操作過程需要的小伙伴可以參考一下2022-04-04
java并發(fā)編程工具類JUC之ArrayBlockingQueue
類ArrayBlockingQueue是BlockingQueue接口的實(shí)現(xiàn)類,它是有界的阻塞隊(duì)列,內(nèi)部使用數(shù)組存儲隊(duì)列元素,通過代碼給大家說明如何初始化一個(gè)ArrayBlockingQueue,并向其中添加一個(gè)對象,對java并發(fā)編程工具類ArrayBlockingQueue相關(guān)知識感興趣的朋友一起看看吧2021-05-05
SpringBoot如何接收前端傳來的json數(shù)據(jù)
這篇文章主要介紹了SpringBoot如何接收前端傳來的json數(shù)據(jù)問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-04-04
Spring占位符Placeholder的實(shí)現(xiàn)原理解析
這篇文章主要介紹了Spring占位符Placeholder的實(shí)現(xiàn)原理,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-03-03

