Java XMLプロファイルの読み込み
3156 ワード
最初はmysqlの接続パラメータをプログラムに書かないことを考えていましたが、パラメータを変更するたびに面倒なので、修正しやすい方法を見つけたいと思い、XMLファイルでプログラムパラメータを格納する方法を見つけました.本稿ではdom 4 jを使用してxmlファイルを読み込む
XML Readerクラス
Configクラス
ファイルの構成をConfigクラスに読み込みます.ここでは主にMysqlの接続構成です.
XML文フォーマット(conf.xml)
もう二度とソースプログラムで構成を変更する悩みはありません.添付ファイルにはdom 4 jのjarパッケージがダウンロードされています.
XML Readerクラス
import java.io.File;
import java.util.Iterator;
import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
/**
*
* @author Martin3000
*
*/
public class XMLReader {
//
private static String filename = "conf.xml";
private static Config config;
/**
* Config ,
* ,
* , ,
*
*
* @return
*/
public static Config loadconfig() {
if (config == null)
config = getconfig();
return config;
}
private static Config getconfig() {
Config config = new Config();
try {
File f = new File(filename);
if (!f.exists()) {
System.out.println(" Error : Config file doesn't exist!");
System.exit(1);
}
SAXReader reader = new SAXReader();
Document doc;
doc = reader.read(f);
Element root = doc.getRootElement();
Element data;
Iterator<?> itr = root.elementIterator("VALUE");
data = (Element) itr.next();
config.server = data.elementText("server").trim();
config.user = data.elementText("user").trim();
config.pass = data.elementText("pass").trim();
config.port = data.elementText("port").trim();
config.dbname = data.elementText("dbname").trim();
} catch (Exception ex) {
System.out.println("Error : " + ex.toString());
}
return config;
}
}
Configクラス
ファイルの構成をConfigクラスに読み込みます.ここでは主にMysqlの接続構成です.
/**
*
* @author Marin3000
*
*/
public class Config {
public String server;
public String user;
public String pass;
public String port;
public String dbname;
public String getConnString() {
String connString = "jdbc:mysql://" + server + ":" + port + "/"
+ dbname + "?user=" + user + "&password=" + pass
+ "&useUnicode=true&characterEncoding=UTF-8";
return connString;
}
}
XML文フォーマット(conf.xml)
<?xml version="1.0" encoding="UTF-8"?>
<CONFIG>
<VALUE>
<!-- mysql -->
<server>127.0.0.1</server>
<dbname>users</dbname>
<user>root</user>
<pass>pass</pass>
<port>3306</port>
</VALUE>
</CONFIG>
もう二度とソースプログラムで構成を変更する悩みはありません.添付ファイルにはdom 4 jのjarパッケージがダウンロードされています.