我们在实际的开发设计中,通常要读各种各样的配置文件,十分烦琐.然而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);
}
}
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>
<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"));
}
}
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
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 );
}
}
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>
<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"));
}
}
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"可能是一个跨平台的、易于集成的配置管理工具,它提供了读取XML和properties文件的接口,方便开发者在项目中灵活配置和管理应用程序的行为。通过学习这个例子,我们可以掌握...
1. **配置文件支持**:Commons Configuration 支持多种格式的配置文件,包括XML、INI、Properties和HOCON(Hadoop配置格式)。这使得开发者可以方便地根据项目需求选择合适的配置文件类型。 2. **动态配置**:不同...
总的来说,“common-configuration”的应用涉及了多种类型的配置文件,包括ini、properties、XML等。这些文件在软件开发中扮演着重要角色,它们使开发者能够灵活地调整系统行为,实现特定功能,如日志记录、数据库...
Apache Common-Configuration是一个功能强大的配置文件处理工具,可以从 Properties文件、XML文件、JNDI、JDBC数据源、System Properties、Applet parameters、Servlet Parameters等读取相应信息。通过使用commons-...
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`对象,这是...
1. **修改ETL加载的大数据平台版本**:在`SDCETLDesigner\common\plugins\pentaho-big-data-plugin\plugin.properties`文件中,将`active.hadoop.configuration`的值修改为`hdp23`,这表示当前ETL软件将使用Hadoop ...
这些文件可能是JSON、XML、YAML或纯文本格式,根据语言和框架的不同,读取方式也会有所差异。 1. **Java**:在Java中,如果使用Maven或Gradle构建工具,配置文件会被自动复制到类路径下的`resources`目录。使用`...
Apache Commons Configuration库允许开发者轻松地从不同类型的配置文件(如XML、INI、Properties或系统属性)中读取和写入配置参数。这个库的核心概念是`Configuration`接口,它定义了获取和设置配置项的方法。以下...
- 文本文件:最常见的格式,如`.ini`、`.properties`、`.json`、`.yaml`或`.xml`。它们易于阅读和编辑,但可能不支持复杂的结构。 - 键值对:如`.ini`和`.properties`文件,键和值之间用等号或冒号分隔。 - JSON...
InputStream inputStream = CommonTest.class.getClassLoader().getResourceAsStream("mybatis-configuration.xml"); ``` 这里通过Java类加载器获取到名为`mybatis-configuration.xml`的配置文件,并将其内容转换...
通过使用XML配置文件定义数据映射规则,DataMapper能够自动处理SQL语句与Java对象之间的转换,从而极大地提高了开发效率。 #### 安装 DataMapper的安装非常简单,主要步骤包括下载最新版本的DataMapper库文件,并...
BlazeDS 将读取 services-config.xml 配置文件,该配置文件又引用了 remoting-config.xml、proxy-config.xml 和 messaging-config.xml 这 3 个配置文件,所以,一共需要 4 个配置文件。 由于 BlazeDS 需要将 Java ...
BlazeDS 将读取 services-config.xml 配置文件,该配置文件又引用了 remoting-config.xml、proxy-config.xml 和 messaging-config.xml 这 3 个配置文件,所以,一共需要 4 个配置文件。 由于 BlazeDS 需要将 Java ...
- **数据读取**:Java工程师需要熟悉如何在程序中读取和解析配置文件,例如使用`Properties`类或第三方库如`Apache Commons Configuration`。 - **条件判断**:理解并实现复杂的业务逻辑,比如根据用户状态(新...
6. **Configurations**: Apache Commons Configuration 专注于处理配置文件,支持多种格式如XML、Properties、INI等。它提供了动态更新配置的能力,使得程序在运行时可以轻松响应配置变化。 7. **Net**: Apache ...
下面是一个完整的 Maven 配置文件: ```xml <groupId>org.springframework.boot <artifactId>spring-boot-starter-parent <version>1.5.4.RELEASE <properties> <java.version>1.8 <spring-kafka.version>...
AndroidManifest.xml,application和library使用的AndroidManifest.xml不同,所以要为组件开发模式下的业务组件再创建一个 AndroidManifest.xml,然后根据isModule指定AndroidManifest.xml的文件路径,让业务组件在...
在上面的代码中,`@Value("${upload.path}")`使用了Spring的属性注入功能,从配置文件(如`application.properties`)中读取`upload.path`的值,这样我们可以在不同环境中灵活地配置本地图片存储路径。 配置完成后...