项目开发过程中不免有许多在运行过程中需要经常改动的参数,比如说数据库的连接参数等。把这些需要经常改动的参数保存在配置文件中,让用户可以修改,这样既增强了项目的适应能力,也减少了我们的维护成本。这种做法不失为一个很好选择。
不过,这并不是一个很新的技巧,在很早的Windows版本中就有大量的INI文件,还有功能更加强大的注册表。在课堂上我们已经学习了把Oracle的配置参数保存在属性文件(.properties)中,在运行的过程中读取使用,使用也比较简单,只需要查看一下Sun的JDK帮助文档,找到Properties类,使用该类的load()方法加载.properties文件,并用里面提供的getProperties(key)方法读取属性值就可以了。
但是使用properties文件也有它的不足之处,另外一种选择就是把配置参数保存在XML文件中,使用Apache 提供的Commons Configuration进行读取。Configuration可以操作如下类型的文件:
Properties files
XML documents
Windows INI files
Property list files (plist)
JNDI
JDBC Datasource
System properties
Applet parameters
Servlet parameters
今天就给大家举个用Apache Commons Configuration读取XML文件的例子,首先到http://apache.org下载Commons Configuration的jar包,最新版本是commons-configuration-1.5.jar并且还需要同时下载:
commons-lang-2.3.jar
commons-collections-3.2.jar
commons-logging-1.1.1.jar
这三个包是必须的,我下载的都是最新版本,版本不统一可能会出现问题,可以自己试验一下.我用的开发工具是Eclipse3.2。
使用Eclipse创建一个JAVA项目,在项目的根目录下创建一个AppConfig.xml,内容如下:
<?xml version="1.0" encoding="utf-8"?>
<项目配置>
<应用程序配置参数>
<考勤时间>
<上班时间>08:00:00</上班时间>
<下班时间>17:00:00</下班时间>
<迟到矿工时间分界点>08:30:00</迟到矿工时间分界点>
</考勤时间>
<加班费>30</加班费>
<满勤奖>35</满勤奖>
<个人所得税起征额>1000</个人所得税起征额>
</应用程序配置参数>
</项目配置>
然后再创建一个测试类:
package org.xdf.learn.conf;
import org.apache.commons.configuration.ConfigurationException;
import org.apache.commons.configuration.XMLConfiguration;
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
String file = "AppConfig.xml";
try {
XMLConfiguration config = new XMLConfiguration(file);
System.out.println("成功加载:" + file);
String btime = config.getString("应用程序配置参数.考勤时间.上班时间");
double basicm = config.getDouble("应用程序配置参数.个人所得税起征额");
System.out.println("上班时间:" + btime);
System.out.println("个人所得税起征额:" + basicm + "元");
} catch (ConfigurationException e) {
e.printStackTrace();
}
}
}
以下是测试结果:
成功加载:AppConfig.xml
上班时间:08:00:00
个人所得税起征额:1000.0元
分享到:
相关推荐
- `commons-io.jar`:Apache Commons IO库,提供了大量I/O操作的工具类,如文件操作、流操作等。 - `commons-lang3.jar`:Apache Commons Lang库,提供了许多高级字符串和对象操作的工具类。 5. **Servlet容器...
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "***"> <!-- 配置内容 --> ``` 在开发Struts2应用时,必需的jar文件主要包括: - Struts2-core-2.X.X.jar:包含Struts2框架核心类。 - ...
- `commons-collections-2.1.1.jar`和`commons-logging-1.0.4.jar`:Apache Commons库,提供辅助功能。 - `ehcache-0.9.jar`:默认的二级缓存实现。 - `log4j-1.2.8.jar`(可选):日志记录库,通过Commons ...
3. `Commons Collections.jar`和`Commons Logging.jar`:Apache Jakarta Commons项目提供的工具类库,被Hibernate用作辅助工具。 4. `ODMG4.jar`:提供ODMG兼容的持久化管理接口,虽然不是必需的,但如果你需要映射...
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"> <!-- Action配置、拦截器配置等 --> ``` **5. HelloWorld示例** 创建一个简单的...
9. **commons-logging.jar**:Apache Commons Logging是一个日志抽象层,允许在Struts2中灵活地切换不同的日志实现。 10. **javassist.jar**:Javassist是一个字节码操作库,Struts2用它来动态地修改类和方法,实现...
常见的选项有"cos"(使用COS文件上传库)、"pell"和"jakarta"(使用Apache Commons FileUpload)。如果选择"cos"或"pell",需要添加对应的库文件到Web应用的lib目录。 9. **struts.multipart.saveDir**: 指定上传...
以下是一个简单的入门实例,帮助初学者理解如何配置和使用Struts2.0。 首先,我们需要创建一个新的Web项目。在MyEclipse中,你可以新建一个Web项目,例如命名为"Struts2入门实例"。接下来,你需要导入Struts2运行所...
此外,`@Configuration`和`@Bean`注解可用于创建数据库连接池,如Apache Commons DBCP或HikariCP。 6. **测试**:在开发过程中,单元测试和集成测试是必不可少的。Spring Boot提供了一套完整的测试框架,包括`@...
Struts2的依赖库包括Apache Commons Logging、FreeMarker、OGNL、Struts2 Core、xWork和Commons Fileupload等。在Web应用中,需要将这些jar包添加到`WEB-INF/lib`目录下,并在`web.xml`中配置Struts2的...
- `org.apache.servicemix.bundles.commons-dbcp-1.2.2_3.jar` - `commons-pool-1.4.jar` - `subethasmtp-wiser-1.2.jar` - `slf4j-nop-1.5.8.jar` - 数据库驱动(例如`mysql.jar`) - `btm-1.3.jar` - JBPM运行时的...
- **Commons Logging**(Commons 日志):介绍了如何使用 Apache Commons Logging 来记录 Java PAM 的日志信息。 - **libjpam.so Debugging**(libjpam.so 调试):指导如何调试 Java PAM 的核心组件 libjpam.so。 -...
MyBatis是一款先进的持久层框架,它...MyBatis集成了Apache Commons Logging、Log4j、SLF4J等日志框架,用户可以在MyBatis的配置中启用日志输出,以便于调试和性能监控。日志记录包括SQL语句、参数和运行时间等信息。
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"> ``` 这里的`basePackage`属性指定了Mapper接口所在的包。 然后,配置Mybatis的全局配置文件`mybatis-config.xml`...
在这种情况下,可能需要使用更高级的文本处理库,如Apache Commons Lang的`WordUtils`类或Java 8的`Stream` API。 此外,如果你提到的"WordCount-main"是一个具体的项目或示例,它很可能与大数据处理相关。在Hadoop...
(读者注:其实这个应该叫做很基础的入门一下下,如果你看过Hibernate了那这个就非常的简单) (再加一条,其实大家可以看官方的教程更好些:http://mybatis.github.io/mybatis-3/,而且如果英文不是很好的那就看...