タイトル
攻略Jakarta Commons
著者
たなか ひろゆき (著)
出版社
ソフトバンクパブリッシング
Amazonで購入する

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を語るべからず。
  • アーキテクチャの勉強になります。