`

common-configuration读取xml,properties文件

 
阅读更多

  我们在实际的开发设计中,通常要读各种各样的配置文件,十分烦琐.然而commons-configuration-1.0.jar为我们提供了非常方便的操作方式实例如下:

1.读取XML文件中内容
import java.util.List;
import org.apache.commons.configuration.Configuration;
import org.apache.commons.configuration.XMLConfiguration;

public class XmlConfigurationExample {

public static void main(String[] args) throws Exception {
String resource = "com/discursive/jccook/configuration/global.xml";
Configuration config = new XMLConfiguration(resource);
//只有new一个XMLConfiguration的实例就可以了.
List startCriteria = config.getList("start-criteria.criteria");
int horsepower = config.getInt("horsepower");
System.out.println( "Start Criteria: " + startCriteria );
System.out.println(horsepower);
}
}

 

global.xml
<?xml version="1.0" encoding="ISO-8859-1" ?>

<engine-config>
<start-criteria>
<criteria>
Temperature Above -10 Celsius
</criteria>
<criteria>
Fuel tank is not empty
</criteria>
</start-criteria>
<volume>4 Liters</volume>
<horsepower>42</horsepower>
</engine-config>

 

2.读取properties文件
import org.apache.commons.configuration.Configuration;
import org.apache.commons.configuration.PropertiesConfiguration;

public class PropertiesConfigurationExample {

public static void main(String[] args) throws Exception {
Configuration config = new PropertiesConfiguration(

"com/discursive/jccook/configuration/global.properties" );

System.out.println( "Speed: " + config.getFloat("speed"));
System.out.println( "Names: " + config.getString("name"));
}
}

 

global.properties
threads.maximum=50
threads.minimum=20
timeout=15.52
interactive=true
color=red
speed=50
name=Default User
email=default@email.com
region=Earth

 

3.当有多个配置文件时,就利用ConfigurationFactory对象来访问多个不同的配置资源
import java.net.URL;
import java.util.List;

import org.apache.commons.configuration.Configuration;
import org.apache.commons.configuration.ConfigurationFactory;

public class PropertiesXmlConfigurationExample {

public static void main(String[] args) throws Exception {
PropertiesXmlConfigurationExample example = new PropertiesXmlConfigurationExample();

ConfigurationFactory factory = new ConfigurationFactory();
URL configURL = example.getClass().getResource("additional-xml-configuration.xml");
factory.setConfigurationURL( configURL );

Configuration config = factory.getConfiguration();

List startCriteria = config.getList("start-criteria.criteria");
System.out.println( "Start Criteria: " + startCriteria );

int horsepower = config.getInt("horsepower");
System.out.println( "Horsepower: " + horsepower );
}
}

 

additional-xml-configuration.xml
<?xml version="1.0" encoding="ISO-8859-1" ?>
<configuration>
<properties fileName="global.properties"/>
<xml fileName="global.xml"/>
</configuration>

 

4.CompositeConfiguration,手动加上两个配置文件
import org.apache.commons.configuration.CompositeConfiguration;
import org.apache.commons.configuration.ConfigurationException;
import org.apache.commons.configuration.PropertiesConfiguration;
import org.apache.commons.configuration.XMLConfiguration;

public class Test {

/**
* @param args
* @throws ConfigurationException
*/
public static void main(String[] args) throws ConfigurationException {
// TODO Auto-generated method stub
CompositeConfiguration config = new CompositeConfiguration();
config.addConfiguration(new PropertiesConfiguration(

"com/discursive/jccook/configuration/global.properties" ));
config.addConfiguration( new XMLConfiguration

("com/discursive/jccook/configuration/global.xml"));
List startCriteria = config.getList("start-criteria.criteria");
int horsepower = config.getInt("horsepower");
System.out.println( "Start Criteria: " + startCriteria );
System.out.println(horsepower);

System.out.println( "Speed: " + config.getFloat("speed"));
System.out.println( "Names: " + config.getString("name"));

}

}
分享到:
评论

相关推荐

    Common-Configuration

    综合以上信息,"Common-Configuration"可能是一个跨平台的、易于集成的配置管理工具,它提供了读取XML和properties文件的接口,方便开发者在项目中灵活配置和管理应用程序的行为。通过学习这个例子,我们可以掌握...

    官方commons-configuration-1.10的jar包

    1. **配置文件支持**:Commons Configuration 支持多种格式的配置文件,包括XML、INI、Properties和HOCON(Hadoop配置格式)。这使得开发者可以方便地根据项目需求选择合适的配置文件类型。 2. **动态配置**:不同...

    common-configuration的一些应用

    总的来说,“common-configuration”的应用涉及了多种类型的配置文件,包括ini、properties、XML等。这些文件在软件开发中扮演着重要角色,它们使开发者能够灵活地调整系统行为,实现特定功能,如日志记录、数据库...

    Java实现的properties文件动态修改并自动保存工具类

    Apache Common-Configuration是一个功能强大的配置文件处理工具,可以从 Properties文件、XML文件、JNDI、JDBC数据源、System Properties、Applet parameters、Servlet Parameters等读取相应信息。通过使用commons-...

    java读取配置文件

    Apache Commons Configuration库提供了一种更强大且灵活的方式来处理配置文件,支持.properties、XML、ini等多种格式: ```java Configuration config = new PropertiesConfiguration("config.properties"); ...

    初始化数据库链接信息

    1. 加载配置:使用`common-configuration`读取数据库连接信息,如从`application.properties`或`database.xml`文件中获取。 2. 创建数据源(DataSource):基于加载的配置,创建`javax.sql.DataSource`对象,这是...

    ETL+hadoop采集

    1. **修改ETL加载的大数据平台版本**:在`SDCETLDesigner\common\plugins\pentaho-big-data-plugin\plugin.properties`文件中,将`active.hadoop.configuration`的值修改为`hdp23`,这表示当前ETL软件将使用Hadoop ...

    关于读取Src下配置文件的那个传说

    这些文件可能是JSON、XML、YAML或纯文本格式,根据语言和框架的不同,读取方式也会有所差异。 1. **Java**:在Java中,如果使用Maven或Gradle构建工具,配置文件会被自动复制到类路径下的`resources`目录。使用`...

    commonconfigruationdemo

    Apache Commons Configuration库允许开发者轻松地从不同类型的配置文件(如XML、INI、Properties或系统属性)中读取和写入配置参数。这个库的核心概念是`Configuration`接口,它定义了获取和设置配置项的方法。以下...

    ReadConfigFile.rar

    - 文本文件:最常见的格式,如`.ini`、`.properties`、`.json`、`.yaml`或`.xml`。它们易于阅读和编辑,但可能不支持复杂的结构。 - 键值对:如`.ini`和`.properties`文件,键和值之间用等号或冒号分隔。 - JSON...

    Mybatis源码分析.md

    InputStream inputStream = CommonTest.class.getClassLoader().getResourceAsStream("mybatis-configuration.xml"); ``` 这里通过Java类加载器获取到名为`mybatis-configuration.xml`的配置文件,并将其内容转换...

    ibatis-sqlMap

    通过使用XML配置文件定义数据映射规则,DataMapper能够自动处理SQL语句与Java对象之间的转换,从而极大地提高了开发效率。 #### 安装 DataMapper的安装非常简单,主要步骤包括下载最新版本的DataMapper库文件,并...

    +Flex+集成到+Java+EE+应用程序的最佳实践(完整源代码)

    BlazeDS 将读取 services-config.xml 配置文件,该配置文件又引用了 remoting-config.xml、proxy-config.xml 和 messaging-config.xml 这 3 个配置文件,所以,一共需要 4 个配置文件。 由于 BlazeDS 需要将 Java ...

    将 Flex 集成到 Java EE 应用程序的最佳实践(完整源代码)

    BlazeDS 将读取 services-config.xml 配置文件,该配置文件又引用了 remoting-config.xml、proxy-config.xml 和 messaging-config.xml 这 3 个配置文件,所以,一共需要 4 个配置文件。 由于 BlazeDS 需要将 Java ...

    java工程师-移动计费系统-面试题系列(与“套餐”有关文档共31张).pptx

    - **数据读取**:Java工程师需要熟悉如何在程序中读取和解析配置文件,例如使用`Properties`类或第三方库如`Apache Commons Configuration`。 - **条件判断**:理解并实现复杂的业务逻辑,比如根据用户状态(新...

    apache commons api

    6. **Configurations**: Apache Commons Configuration 专注于处理配置文件,支持多种格式如XML、Properties、INI等。它提供了动态更新配置的能力,使得程序在运行时可以轻松响应配置变化。 7. **Net**: Apache ...

    在springboot中对kafka进行读写的示例代码

    下面是一个完整的 Maven 配置文件: ```xml &lt;groupId&gt;org.springframework.boot &lt;artifactId&gt;spring-boot-starter-parent &lt;version&gt;1.5.4.RELEASE &lt;properties&gt; &lt;java.version&gt;1.8 &lt;spring-kafka.version&gt;...

    BiliBili-基于ijkplayer rxjava retrofit,组件化思想,实现一个仿B站的Android客户端.zip

    AndroidManifest.xml,application和library使用的AndroidManifest.xml不同,所以要为组件开发模式下的业务组件再创建一个 AndroidManifest.xml,然后根据isModule指定AndroidManifest.xml的文件路径,让业务组件在...

    Springboot通过url访问本地图片代码实例

    在上面的代码中,`@Value("${upload.path}")`使用了Spring的属性注入功能,从配置文件(如`application.properties`)中读取`upload.path`的值,这样我们可以在不同环境中灵活地配置本地图片存储路径。 配置完成后...

Global site tag (gtag.js) - Google Analytics