0

私はSpring SourceツールでAspectJを適用しています

読み込み時間を設定するか、Spring ソース ツールでウィービングをコンパイルする必要がありますか

Spring Source Tool に Aspect を適用するために AspectJ を使用する方法の詳細を提供していただければ幸いです。

4

1 に答える 1

2

これは非常に高度なトピックであり、単一のStackOverflowの質問の範囲をはるかに超えています。

基本的に:

  • 最も単純なケースはSpringAOPで、AspectJをまったく使用せず、AspectJアノテーションからJavaプロキシを作成します。これは、最も強力でないオプションでもあります。サポートされているポイントカットはごくわずかであり、ターゲットはSpringBeansである必要があります。
  • 最も強力なオプションは静的なAspectJコンパイルです。これは通常、ビルドシステムに統合されます(antまたはmavenで正常に機能します)。クラスファイルは、アスペクトを含むように実際に変更されます。これは、コンパイル時のウィービングと呼ばれます。
  • ロード時のウィービングはその中間です。コードをアドバイスしたいが、クラスファイルを変更したくないので、「クラスローダーにアドバイス」します(これは適切な定義ではありませんが、アイデアを提供します)。サードパーティのライブラリコードにアスペクトを追加する場合は、通常、ロードタイムウィービングが唯一の選択肢です。

微妙な違いをすべて理解するには、 RamnivasLaddadによるAspectJinActionを読む必要があります。

いずれにせよ、STSで使用する設定は、ビルドシステムで使用する設定を反映している必要があります。セクション7.SpringリファレンスのSpringを使用したアスペクト指向プログラミングも非常に役立ちます。

于 2011-05-04T08:15:14.640 に答える