第一步:需要引入三个包,dom4j-1.6.1.jar,jaxen-1.1-beta-6.jar,com_xercesImpl.jar(这个包可以引可以不引,但是不引的话,有可能出现问题)
第二步:
写一个system-config.xml的配置文件:
<?xml version="1.0" encoding="UTF-8"?>
<config>
<db-info>
<driver-name>oracle.jdbc.driver.OracleDriver</driver-name>
<url>jdbc:oracle:thin:@127.0.0.1:1521:orcl</url>
<username>drp</username>
<password>drp</password>
</db-info>
<item-dao>com.bjpowernode.drp.basedata.dao.ItemsDaoOracleImpl</item-dao>
<!-- <item-dao>com.bjpowernode.drp.basedata.dao.ItemsDaoMysqlImpl</item-dao> -->
</config>
使用java程序来读取这个配置文件:
package com.bjpowernode.drp.util;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
/**
* 采用单例模式读取xml配置文件sys-config.xml
* @author Administrator
*
*/
public class ConfigReader {
private static ConfigReader instance = new ConfigReader();
private Document doc;
private JdbcInfo jdbcInfo;
private String itemsDaoString;
private String itemsServiceString;
private ConfigReader() {
try {
doc = new SAXReader().read(Thread.currentThread().getContextClassLoader().getResourceAsStream("sys-config.xml"));
Element driverNameElt = (Element)doc.selectObject("/config/db-info/driver-name");
Element urlElt = (Element)doc.selectObject("/config/db-info/url");
Element usernameElt = (Element)doc.selectObject("/config/db-info/username");
Element passwordElt = (Element)doc.selectObject("/config/db-info/password");
jdbcInfo = new JdbcInfo();
jdbcInfo.setDriverName(driverNameElt.getStringValue());
jdbcInfo.setUrl(urlElt.getStringValue());
jdbcInfo.setUsername(usernameElt.getStringValue());
jdbcInfo.setPassword(passwordElt.getStringValue());
Element itemsDaoStringElt = (Element)doc.selectObject("/config/item-dao");
itemsDaoString = itemsDaoStringElt.getStringValue();
} catch (DocumentException e) {
e.printStackTrace();
}
}
public static ConfigReader getInstance() {
return instance;
}
public String getItemsDaoString() {
return itemsDaoString;
}
public JdbcInfo getJdbcInfo() {
return jdbcInfo;
}
public static void main(String[] args) {
System.out.println(ConfigReader.getInstance().getJdbcInfo().getDriverName());
System.out.println(ConfigReader.getInstance().getItemsDaoString());
}
}