勉強中

 AspectJ の日本語書籍が出たので、2週間程前から読みつつ勉強してみてます。
まだ、効果的な適用の仕方がぴんとこない感じ。とりあえず、お約束的にデバッグのために変数の値を表示させてみたり。
↓のようなアスペクト書いてみたり。

privileged public aspect Logger {
  before( Hoge t, Fugu arg ) : execution( * mypackage.Hoge.foo(..) ) && target( t ) && args( arg ) {
    System.out.println( "==["+thisJoinPoint+"]====" );
    System.out.println( " t.field: "+t.field );
    System.out.println( "     arg: "+arg );
  }
}

アスペクトに privileged を指定することで、特権アスペクトとなり、他のクラスのプライベートフィールドにもさっくりアクセスできちゃいます。
デバッグのためのログ取得にはべんりかも。