Apache Commons-configuration 学习笔记
1 如果要使用configuration这个包,首先要保证使用JDK1.2以上,还要引入如下jar包
- commons-beanutils
- commons-lang
- commons-logging
- commons-collections
- commons-digester
- commons-codec
- commons-jxpath
2 commons-configuration最新的版本是1.5,最主要的作用是读取资源文件,每一种文件格式都有一个对应的类,如下
- properties文件--PropertiesConfiguration类
- xml文件--XMLConfiguration
- .ini文件--INIConfiguration
- .plist文件--PropertyListConfiguration
- 还可以从JNDI中读取properties--JNDIConfiguration
- 当然还可以使用system的properties--SystemConfiguration
- 等等...
3 上面已经对它做了基本的介绍,下面看看这个包怎么用吧
比如我们要读一个properties文件:在classpath下面建立目录te,之后在te下面建立
test.properties
ip=127.0.0.1
port=8080
id=111
application.name = Killer App
application.version = 1.6.2
application.title = ${application.name} ${application.version}
keys=cn,com,org,uk,edu,jp,hk
java:
//注意路径默认指向的是classpath的根目录
Configuration config = new PropertiesConfiguration("te/test.properties");
String ip=config.getString("ip");
int port=config.getInt("port");
String title=config.getString("application.title");
//再举个Configuration的比较实用的方法吧,在读取配置文件的时候有可能这个键值对应的值为空,那么在下面这个方法中
//你就可以为它设置默认值。比如下面这个例子就会在test.properties这个文件中找id的值,如果找不到就会给id设置值为123
//这样就保证了java的包装类不会返回空值。虽然功能很简单,但是很方便很实用。
Integer id=config.getInteger("id", new Integer(123));
//如果在properties 文件中有如下属性keys=cn,com,org,uk,edu,jp,hk
//可以实用下面的方式读取:
String[] keys1=config.getStringArray("keys");
List keys2=config.getList("keys");
首先要把这个文件读到程序中,我们可以用上面的类,所有的读取文件的类都 继承自AbstractConfiguration类,
而这个类实现了Configuration接口,如果我们只有比较简单的需求,那么可以直接向上转型为Configuration类型,如果向上
转型为AbstractConfiguration类,那么可以做一些配置工作。
比如刚刚看到的 keys=cn,com,org,uk,edu,jp,hk这个例子中如果是keys=cn/com/org/uk/edu/jp/hk
那么如果还按照原来的方式读取,读到的将是"cn/com/org/uk/edu/jp/hk"这个字符串,所以要先改变分割符之后在读
即
AbstractConfiguration.setDefaultListDelimiter('/');
Configuration config = new PropertiesConfiguration("te/Vasp.properties");
String[] keys=config.getStringArray("keys");
List key2=config.getList("keys");
如果你看它的源码,你会在 AbstractConfiguration这个类中找到:
private static char defaultListDelimiter = ',';
这下你明白了吧!
分享到:
相关推荐
### Struts2学习笔记知识点概览 #### 一、环境搭建 **1.1 Struts2简介** - **Struts2概述**:Struts2是一个开源的MVC框架,它结合了Struts 1.x、WebWork和其他一些框架的优点。Struts2的主要目标是简化Web应用程序...
### Hibernate学习笔记知识点详解 #### 一、在Eclipse中配置Hibernate环境 ##### 1. 配置Classpath Variables 为了在Eclipse中正确配置Hibernate,首先需要设置Classpath Variables来指向Hibernate安装路径下的...
### Struts学习笔记 #### 一、Struts2框架简介 Struts2是一个开源的、用于开发Java EE Web应用程序的MVC框架。它基于Struts 1进行了改进,提供了更加强大和灵活的功能,比如拦截器、动态方法调用、类型转换等。...
### 传智播客Struts2全程学习笔记 #### Struts2的优点 1. **无侵入式设计**:与Struts1相比,Struts2的设计更为先进,它不依赖于Servlet API或Struts API,这使得Struts2更加灵活且易于集成到其他环境中。在代码...
### Struts2.1学习笔记 #### Struts2的来源与优点 - **来源**:Struts2是在WebWork2的基础上发展起来的,它继承了WebWork2的优点,并且进行了改进,使其更适合现代Web应用程序的需求。与Struts1相比,Struts2的...
### Struts2.0 学习笔记 #### 引言 Struts2 是一款非常流行的 Java Web 开发框架,它基于 Struts1 进行了重大的改进与优化,不仅继承了 Struts1 的优秀特性,还在此基础上进行了扩展,支持更加丰富的功能,如拦截...
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"> <package name="struts2" extends="struts-default"> <!-- name属性对应表单中的...
**Spring+JDBC集成学习笔记** 在Java Web开发中,Spring框架因其强大的功能和灵活性而被广泛应用。Spring提供了与JDBC的集成,使得数据库操作更加便捷、高效且易于管理。以下将详细介绍Spring如何与JDBC结合,以及...
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"> <package name="default" extends="struts-default"> <!-- 在这里添加Action定义 --> ...