私は現在Springについて読んでおり、AOPの使用に使用される例の1つは、メソッド呼び出しの開始と終了をログに記録することです。
また、AOPの使用がパフォーマンスに影響を与える可能性があることも読みました。
Spring AOPを使用することは、このタイプのロギングに適していますか?私の理解では、Springは動的AOPを使用しますが、このタイプのAOPには静的AOP(Like AspectJ)を使用する方がよいでしょう。
現在、私が働いている会社のコーディングポリシーでは、ばかげた量のロギングが必要であり、作成する必要のあるロギングコードの量を減らし、コードの可読性を向上させたいと考えています。
私は間違った木を吠えていますか?
パフォーマンスの懸念について このブログ投稿 を読んでください。
AOPの考え方は、提供された機能上の利点を最初に置くことです。自動ロギングが要件であり、AOPがそれに適合する場合は、それを選択してください。
とは言うものの、きめ細かいロギングが必要な場合は、もちろん、ロード時のウィービングが推奨されます。
ロギングの実装にSpringAOPを使用したので、観察結果を共有します。
this
ハンドルを使用しているため)、ログに記録できません。したがって、すべてのロギングはインターフェース境界でのみ発生する可能性があります。 (これはプロキシベースのアスペクトウィービングの使用に関するもので、cglibを使用したランタイムサブクラス化のオプションがありますが、私はそれを使用しませんでした)