JAVA中的Configuration類(lèi)詳解
本文主要研究的是Java中的Configuration類(lèi)的用法,涉及maven自動(dòng)加載,pom.xml配置和簡(jiǎn)單的Java代碼,具體如下。
properties文件是Java平臺(tái)默認(rèn)的配置文件格式,其優(yōu)點(diǎn)是格式清晰,簡(jiǎn)單易懂,使用commons-configuration讀取properties文件也比較簡(jiǎn)單,代碼如下:
基本用法:
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í)會(huì)報(bào)錯(cuò),所以再加上這個(gè) --> <dependency> <groupId>commons-lang</groupId> <artifactId>commons-lang</artifactId> <version>2.6</version> </dependency>
common-lang這個(gè)包要用新版的,如果不寫(xiě)這個(gè)依賴(lài),commons-configuration會(huì)下載一個(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等不同返回類(lèi)型的方法可以調(diào)用。
進(jìn)階用法:
一個(gè)項(xiàng)目有會(huì)有多個(gè)配置文件,這時(shí)有個(gè)統(tǒng)一的配置文件管理類(lèi)就很有必要了,我寫(xiě)了一個(gè)簡(jiǎn)單的,大家可以參考下,有不妥的用法也請(qǐng)指出來(lái)
1.java類(lèi)
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>
* 讀取配置文件類(lèi)
* </p>
* <p>
* 根據(jù)配置文件名和屬性key返回屬性?xún)?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類(lèi)詳解的全部?jī)?nèi)容,希望對(duì)大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站其他相關(guān)專(zhuān)題,如有不足之處,歡迎留言指出。感謝朋友們對(duì)本站的支持!
相關(guān)文章
WIN10系統(tǒng)中添加bat腳本重啟jar服務(wù)
在bat腳本中執(zhí)行java服務(wù),命令與cmd中類(lèi)似,下面這篇文章主要給大家介紹了關(guān)于WIN10系統(tǒng)中添加bat腳本重啟jar服務(wù)的相關(guān)資料,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下2023-12-12
Java中l(wèi)ambda表達(dá)式實(shí)現(xiàn)aop切面功能
本文主要介紹了Java中l(wèi)ambda表達(dá)式實(shí)現(xiàn)aop切面功能,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-02-02
Springboot自動(dòng)配置原理及DataSource的應(yīng)用方式
這篇文章主要介紹了Springboot自動(dòng)配置原理及DataSource的應(yīng)用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-07-07
Spring?main方法中如何調(diào)用Dao層和Service層的方法
這篇文章主要介紹了Spring?main方法中調(diào)用Dao層和Service層的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-12-12
IDEA中Javaweb項(xiàng)目圖片加載不出來(lái)解決方案
在IDEA中能夠正常的預(yù)覽到圖片,但是在生成項(xiàng)目的war包時(shí),項(xiàng)目的目錄結(jié)構(gòu)卻會(huì)發(fā)生變化,所以無(wú)法訪問(wèn)圖片,本文主要介紹了IDEA中Javaweb項(xiàng)目圖片加載不出來(lái)解決方案,感興趣的可以了解一下2023-10-10
elasticsearch索引index之put?mapping的設(shè)置分析
這篇文章主要為大家介紹了elasticsearch索引index之put?mapping的設(shè)置分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-04-04
Spring @Async 的使用與實(shí)現(xiàn)的示例代碼
本篇文章主要介紹了Spring @Async 的使用與實(shí)現(xiàn)的示例代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-08-08
SpringBoot整合Ehcache3的實(shí)現(xiàn)步驟
本文主要介紹了SpringBoot整合Ehcache3的實(shí)現(xiàn)步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-01-01

