Jakarta Commons は再利用可能なJavaコンポーネントをまとめたプロジェクトです。簡単に言うと「Java の便利ライブラリ(Util)」です。
本書は、Commons パッケージに含まれるいくつかのコンポーネントを紹介したものになっています。特徴的なのは、各コンポーネントについて継承関係などを表すクラス図が載っていることです。自分のソースコードからどのクラスを呼び出せば良いのかが分かりやすくなっています。
Commonsパッケージには多数のコンポーネントがあるため、すべてのコンポーネントについて詳しい解説が載っているわけではありません。著者が利用価値が高いと判断されたものに関しては結構深く解説してあったり、使い方も色々載っていたりします。
リファレンスと言うよりは、Commonsをざっと眺めてどんなコンポーネントがあるかをインプットしておくといった読み方が正しいのかもしれません。Javaで開発を行っている人は、一度見ておくと不要なライブラリ作成の手間が省けること間違い無しです。
覚書き
org.apache.commons.lang.builder
- CompareToBuilder
- compareToメソッドを容易に実装できる
- EqualsBuilder
- equalsメソッドを容易に実装できる
- HashCodeBuilder
- hashCodeメソッドを容易に実装できる
- ToStringBuilder
- toStringメソッドを容易に実装できる
import org.apache.commons.lang.builder.*; public class BuilderTest { private Integer propA; private String propB; public void test(BuilderTest other) { boolean euqal = new EqualsBuilder() .append(propA, other.propA) .append(propB, other.propB) .isEquals(); } }
org.apache.commons.logging(Log4j)
Log4jの主な Appender一覧
- ConsoleAppender
- コンソールに出力する
- DailyRollingFileAppender
- 日、月、週などの一定期間でファイル名を変更しながら出力する
- FileAppender
- ファイルに出力する
- NullAppender
- 何も出力しない
- RollingAppender
- 設定したサイズにファイル容量が達したときにファイルを変更できる
log4j.propertiesの例
# com.hamasyou.log 以下のクラスに対しては「DEBUG」で「ALog」ロガーを使う log4j.rootLogger = WARN, ASystem log4j.logger.com.hamasyou.log = DEBUG, ALog # 各ロガーに設定項目を与えるJavaDoc # 与える項目は、JavaDocの各Appender の setterメソッドのあるもの log4j.appender.ASystem=org.apache.log4j.FileAppender log4j.appender.ASystem.File=C:/logs/system.log log4j.appender.ALog=org.apache.log4j.RollingFileAppender log4j.appender.ALog.MaxFileSize=1MB log4j.appender.ALog.MaxBackupIndex=0 log4j.appender.ALog.File=C:/logs/_debug.log log4j.appender.ALog.Append=false # ログの出力パターン log4j.appender.ASystem.layout=org.apache.log4j.PatternLayout log4j.appender.ASystem.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n log4j.appender.ALog.layout=org.apache.log4j.PatternLayout log4j.appender.ALog.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n
参考
- Javaの真髄ここに極まる
- ほんとにいい本です。これを読まずしてJavaを語るべからず。
- アーキテクチャの勉強になります。