XML設定ファイルを読み込む

[概要]
Jakarta Commons Digesterは、
XMLファイルを読み込んで、Javaオブジェクトに変換するためのライブラリです。

JAXBがいまいちなので、試してみました。

[必須環境]
JDKは、ver1.3辺りがあれば十分でしょう。

加えて、以下のライブラリが必要になります。

今回は、Xercesを使いました。
Commons系のライブラリは、Jakarta Commonsから、 適当に拾ってきてください。

[実験内容]
適当なXMLファイルを用意して、Digesterを使って読み込み、コンソールに表示してみました。

[実験環境]
JDK: J2SDK1.4

今回は、version1.2を使用しました。
commons-digester-1.2.zip

[実験用ソースコード]
DigesterTest.java
(設定ファイル解析メインクラス)
TestBean.java
(設定内容格納用JavaBeansクラス)
conf.xml
(実験用設定ファイル)

[コンパイル]
javac -classpath commons-digester.jar;xerces.jar;. DigesterTest.java

[実行]
java -classpath commons-digester.jar;xerces.jar;commons-collections.jar;commons-logging-1.0.jar;commons-beanutils.jar;. -Dorg.xml.sax.driver=org.apache.xerces.parsers.SAXParser DigesterTest

[実験結果]
DigesterTest.javaを実行すると、以下のように表示されます。

Param1 = value1
Param2 = value2
Param3 = value3
Option = 123

Beanでint型フィールドにも、きちんと値が格納されていることが分かります。
ちなみに、abcなどの文字列がoptionに設定されていた場合、
int型のデフォルト値である0になります。

[なんとなく感想]
少なくとも、DOMをいじってどうこうするよりは、遥かにラクです。(当たり前だね(^^;)

あと、JAXBに代表される(?)、データバインディングとの比較ですが、
まあ、ただ設定ファイルを読むだけなら、こっちで十分じゃない?
という気がしてならないです。
データバインディングって、データ交換とかする時に使うものっぽいし。

ちなみに、DigesterはXML設定ファイルを読む際のルールをXML化できるので、
XML設定ファイルのスキーマ(レイアウト)が変わっても、
コードの修正無しに読めるみたいです。
(まだ、そこまで試してませんが...)

目的通り使うのなら、かなり使えると思います。
唯一の難点は、依存ライブラリが多いことかも...