|
||||||||||||
|
|
| 使用 Configuration |
| 时间:22/04/2007 作者:网络 来源:网络 |
| 小提示→点这里把文章加入您的收藏夹,方便下次查看 |
| 设置文章字体大小:[大 中 小] |
原文地址:http://jakarta.apache.org/commons/configuration/overview.html使用 Configuration看下面的例子可以尽快学会怎样使用Configuration ,接下来开始示范怎样从多根不同来源获取配置。 Configuration Sources配置文件Currently there are quite a number of different sources of Configuration objects. But, 现在有很多种配置信息的来源,通过象 XMLConfiguration 或者JNDIConfiguration的类型来使用一个Configuration 对象,获得配置信息的底层细节是透明的. 这些配置信息的来源有:
混合的配置源你常常需要提供一个配置信息的基本设置,并且允许用户根据自己的特定环境很方便的修改它们。一种方法是在代码中对默认值使用硬编码写死,同时提供一个property文件来来覆盖默认值。这是一种很死板的做法. 取而代之的是, 通过CompositeConfiguration 你可以提供多种设置配置信息的途径。 你可以手工来实现(请参考JUnit testcase "TestCompositeConfiguration.java),也可以借助ConfigurationFactory 来完成。 通过 ConfigurationFactory, (请参考 the Junit testcase "TestConfigurationFactory.java") 加载一个可以区别各种 Configuration 对象的摘要xml文件. 下面是一个配置文件示例digesterRules.xml file: <?xml version="1.0" encoding="ISO-8859-1" ?> <configuration> <jndi className="org.apache.commons.configuration.JNDIConfiguration" prefix="java:comp/env"/> <properties className="org.apache.commons.configuration.PropertiesConfiguration" fileName="conf/test.properties"/> <xml className="org.apache.commons.configuration.XMLConfiguration" fileName="conf/test.xml"/> </configuration> 这个文件声明了需要加载所有在java:comp/env下的JNDI键值对,还有一个properties文件conf/test.properties ,以及一个xml文件conf/test.xml。请阅读测试用例和conf/ 目录下的文件来获得更多的关于怎么构造配置文件的信息。
加载配置的优先级是从第一个配置开始直到最后一个。因此在上面这个例子中.假设有一个叫 "test.precendence "的JNDI 键值对 ,在xml文件里也有一个叫 "test.precendence ",的键值对那么来自 JNDI的对应值被优先返回,而不会是在xml文件里的这个值。 这样就允许你覆盖通过在一个 properties/xml file,中设置默认值,而通过JNDI或者另外的XML/properties文件来覆盖默认值!!!
配置细节Configuration is done by taking the configuration XML file and using included Digester rules, parsing the individual configurations. Make sure to include the various dependencies required for each type of configuration! 典型的 Properties 文件
|
|
上一篇:Tiger系列五:访问环境变量和调用子进程
下一篇:使用 Configuration |
| 【返回】 【顶部】 【关闭】 |
| Copyright © 2005-2010 www.594k.com All Rights Reserved. |
| 版权所有:JAVA学习网
备案序号:皖ICP备06004238号 |