关于JAVA 中的Configuration类

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

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

 

基本用法:

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

 

[html]  view plain  copy
 
  1. <dependency>  
  2.     <groupId>commons-configuration</groupId>  
  3.     <artifactId>commons-configuration</artifactId>  
  4.     <version>1.9</version>  
  5. </dependency>  
  6. <!-- commons-configuration 自动加载的是2.1的版本,编译时会报错,所以再加上这个 -->  
  7. <dependency>  
  8.     <groupId>commons-lang</groupId>  
  9.     <artifactId>commons-lang</artifactId>  
  10.     <version>2.6</version>  
  11. </dependency>  

common-lang这个包要用新版的,如果不写这个依赖,commons-configuration会下载一个2.1旧版,导致编译出错

2.java代码:

 

[java]  view plain  copy
 
  1. PropertiesConfiguration config = new PropertiesConfiguration(“/database.properties”);  
  2. String userName = config.getString("name");  

 

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

 

进阶用法:

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

1.java类

 

[java]  view plain  copy
 
  1. package com.xxx.xxx.util;  
  2.   
  3. import java.util.HashMap;  
  4. import java.util.Map;  
  5.   
  6. import org.apache.commons.configuration.ConfigurationException;  
  7. import org.apache.commons.configuration.PropertiesConfiguration;  
  8. /** 
  9.  * <p> 
  10.  * 读取配置文件类 
  11.  * </p> 
  12.  * <p> 
  13.  * 根据配置文件名和属性key返回属性内容,configUtil.get(configFile, property); 
  14.  * </p> 
  15.  * @author shengzhi.rensz 
  16.  * 
  17.  */  
  18. public class configUtil {  
  19.   
  20.     private static configUtil initor = new configUtil();     
  21.       
  22.     private static Map<String, Object> configMap = new HashMap<String, Object>();  
  23.       
  24.     private configUtil() {}  
  25.       
  26.     /** 
  27.      * 获取内容 
  28.      * @param configFile 
  29.      * @param property 
  30.      * @return 
  31.      */  
  32.     public static String get(String configFile, String property) {     
  33.         if(!configMap.containsKey(configFile)) {     
  34.            initor.initConfig(configFile);  
  35.         }  
  36.         PropertiesConfiguration config = (PropertiesConfiguration) configMap.get(configFile);  
  37.         String value = config.getString(property);  
  38.         //TODO LOG  
  39.         return value;     
  40.     }     
  41.       
  42.     /** 
  43.      * 载入配置文件,初始化后加入map 
  44.      * @param configFile 
  45.      */  
  46.     private synchronized void initConfig(String configFile) {      
  47.         try {  
  48.             PropertiesConfiguration config = new PropertiesConfiguration(configFile);  
  49.             configMap.put(configFile, config);  
  50.               
  51.         } catch (ConfigurationException e) {  
  52.             e.printStackTrace();  
  53.         }  
  54.     }     
  55. }  


2.调用方法

 

 

[java]  view plain  copy
 
    1. configUtil.get("/common/velocity.properties", "input.encoding");  

 

 

[java]  view plain  copy
 
  1. public static void readProperties() throws ConfigurationException {  
  2.         PropertiesConfiguration pcfg = new PropertiesConfiguration("config/cfg.properties");  
  3.         System.out.println(pcfg.getString("platform.jre"));  
  4.     }  


注意,这里的路径一定要搞清楚,配置文件是放在config文件夹中的;

 

相关文章
|
27天前
|
算法 Java 数据处理
从HashSet到TreeSet,Java集合框架中的Set接口及其实现类以其“不重复性”要求,彻底改变了处理唯一性数据的方式。
从HashSet到TreeSet,Java集合框架中的Set接口及其实现类以其“不重复性”要求,彻底改变了处理唯一性数据的方式。HashSet基于哈希表实现,提供高效的元素操作;TreeSet则通过红黑树实现元素的自然排序,适合需要有序访问的场景。本文通过示例代码详细介绍了两者的特性和应用场景。
37 6
|
15天前
|
存储 安全 Java
java.util的Collections类
Collections 类位于 java.util 包下,提供了许多有用的对象和方法,来简化java中集合的创建、处理和多线程管理。掌握此类将非常有助于提升开发效率和维护代码的简洁性,同时对于程序的稳定性和安全性有大有帮助。
38 17
|
7天前
|
安全 Java
Java多线程集合类
本文介绍了Java中线程安全的问题及解决方案。通过示例代码展示了使用`CopyOnWriteArrayList`、`CopyOnWriteArraySet`和`ConcurrentHashMap`来解决多线程环境下集合操作的线程安全问题。这些类通过不同的机制确保了线程安全,提高了并发性能。
|
11天前
|
存储 Java 程序员
Java基础的灵魂——Object类方法详解(社招面试不踩坑)
本文介绍了Java中`Object`类的几个重要方法,包括`toString`、`equals`、`hashCode`、`finalize`、`clone`、`getClass`、`notify`和`wait`。这些方法是面试中的常考点,掌握它们有助于理解Java对象的行为和实现多线程编程。作者通过具体示例和应用场景,详细解析了每个方法的作用和重写技巧,帮助读者更好地应对面试和技术开发。
50 4
|
12天前
|
Java 编译器 开发者
Java异常处理的最佳实践,涵盖理解异常类体系、选择合适的异常类型、提供详细异常信息、合理使用try-catch和finally语句、使用try-with-resources、记录异常信息等方面
本文探讨了Java异常处理的最佳实践,涵盖理解异常类体系、选择合适的异常类型、提供详细异常信息、合理使用try-catch和finally语句、使用try-with-resources、记录异常信息等方面,帮助开发者提高代码质量和程序的健壮性。
27 2
|
16天前
|
存储 安全 Java
如何保证 Java 类文件的安全性?
Java类文件的安全性可以通过多种方式保障,如使用数字签名验证类文件的完整性和来源,利用安全管理器和安全策略限制类文件的权限,以及通过加密技术保护类文件在传输过程中的安全。
|
20天前
|
Java 数据格式 索引
使用 Java 字节码工具检查类文件完整性的原理是什么
Java字节码工具通过解析和分析类文件的字节码,检查其结构和内容是否符合Java虚拟机规范,确保类文件的完整性和合法性,防止恶意代码或损坏的类文件影响程序运行。
|
20天前
|
Java API Maven
如何使用 Java 字节码工具检查类文件的完整性
本文介绍如何利用Java字节码工具来检测类文件的完整性和有效性,确保类文件未被篡改或损坏,适用于开发和维护阶段的代码质量控制。
|
20天前
|
存储 Java 编译器
java wrapper是什么类
【10月更文挑战第16天】
23 3
|
23天前
|
Java 程序员 测试技术
Java|让 JUnit4 测试类自动注入 logger 和被测 Service
本文介绍如何通过自定义 IDEA 的 JUnit4 Test Class 模板,实现生成测试类时自动注入 logger 和被测 Service。
22 5