2017-02-12 2 views
0

SpringのAspectJに関する質問:CTWとLTW。違いは何ですか?私が理解するところでは、両方のアプローチが同じであることを理解しています。彼らはどちらも元のクラスの代わりにアスペクトロジックを組み込んだJavaクラスを生成しています。 CTWはコンパイル時に行い、LTWはJVMロードクラス中に行います。あなたはそれらの間の他の差異について説明していただけますか?前もって感謝します!SpringのAspectJ:CTWとLTW

答えて

1

まず、AspectJはSpringとは独立しています。それは春の前に考案されたもので、フレームワークは必要ありません。おそらく、Spring AOP(動的プロキシに基づく)とAspectJ(バイトコード計測に基づく)の違いを認識していないかもしれません。デフォルトでは、SpringではCTWまたはLTWを使用せず、単にSpring AOPを使用します。この "AOP lite"アプローチが十分強力でない場合にのみ、Springの有無にかかわらずAspectJのフルパワーを使用します。

使用方法を知るには、Spring AOP manualをお読みください。また、あなたが勉強するためにchapter on AspectJがあります。

CTW、LTW、プロキシベースのAOPのようなAOPのタイプ間の基本的な技術的な違いについては、賛否両論、my answer thereを参照してください。 @Moderators:私は本当にここで自分自身を引用したくないだけでなく、この質問に完全な複製としてフラグを立ててはいけません。

関連する問題