Component配下のAspect

Seasarのからさわぎ」で,参加者から次のような質問が出されました(たぶん).

AspectをComponentの下に定義するようになっているが,それでは複数のComponentに対するAspectを定義できないのでは?

なるほど.AspectJでは,Aspectはターゲットとなるclassとは独立しており,Pointcutの指定次第で多数のclassを対象とすることができます.
それに対するひがさんの回答は次のような感じでした(たぶん).

Aspectが様々なComponentに適用できると,どのComponentにどのAspectが適用されているかが分かりにくい.
また,Aspectの開発者とComponentの開発者のどちらも,ComponentとAspectを組み合わせたテストをしなくなりがち.

ここでは回答の前半について.とっても御意だと思いました.
AspectJでは確かにAspectが独立したモジュールとなっているために,トレースのようなAspectを広範囲に一気にWeavingするのはとてもラクチンな感じがします.対してSeasar(Springでも)の定義の仕方だとちょっと面倒かもしれません.でも,そのようなAspectってトレースくらいじゃないのかなぁ? そんなに多くあるとは思えません.
一方で,AspectJ方式を採用した場合の欠点は,ひがさんがおっしゃるように,あるComponentにAspectが適用されているのかが分かりにくいことだと思います.それに加えて,複数のAspectが適用される場合の適用順序が分かりにくいことも問題だと思います.AspectJでは,同じJoinpointを対象とするAspectをどのような順で適用するかについて,declare precedence で明示的に指定できるわけですが(たぶん),それがわかりやすいとはとても思えません.
コンパイル時にWeavingするAspectJでは,Eclipse + AJDT などのIDEを使うことで,Joinpointに適用されているAdviceとその順序を容易に確認できるからまだよいのでしょうが,ランタイムでAspectがWeavingされるSeasarでは,ものすごく分かりにくくなってしまいそうです.
ということで,ひがさんの選択はとても妥当だと思いました.