Skip to main content
 首页 » 编程设计

JAVA中Configuration类的作用是什么

2023年01月21日9softidea

properties文件是Java平台默认的配置文件格式,其优点是格式清晰,简单易懂,使用commons-configuration读取properties文件也比较简单,代码如下:

基本用法:

1.加载jar包,我使用maven自动加载,pom.xml配置如下:

<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代码:

PropertiesConfiguration config = new PropertiesConfiguration(“/database.properties”);  
String userName = config.getString("name");

除了getString()方法外,还有getBoolean,getDouble,getInteger等不同返回类型的方法可以调用。

进阶用法:

一个项目有会有多个配置文件,这时有个统一的配置文件管理类就很有必要了,我写了一个简单的,大家可以参考下,有不妥的用法也请指出来

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>  
 * 根据配置文件名和属性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.调用方法

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文件夹中的;


本文参考链接:https://www.yisu.com/zixun/210120.html