2010-12-19 3 views
0
でポイントカット注釈

私は春AOPに新しいですが、私はMultiActionControllerを持って:MultiActionController

  1. にいくつかの助けをしたい、これがベースannotaionです。
  2. 私はスプリング構成ファイルのメソッドとアドバイザーのポイントカットを定義しました。
  3. 私はコントローラからそのメソッドを呼び出しています。

私の質問は次のとおりです。コントローラーでポイントカット注釈を定義する方法は?

いくつかのヒントを教えてください。

ありがとうございました。

答えて

1

AOPのポイントは、ターゲットクラスではなく、外部アスペクトクラス(またはXMLベースのSpring AOPの場合、XML)でポイントカットを定義することです。

コントローラと、同じApplicationContext内のアスペクトを持っている場合(ポイントカットはコントローラメソッドと一致します)、アドバイスは自動的に適用されます。あなたのコントローラをバックアップするためのインターフェイスを使用する場合のSpring AOPは、標準(JDKプロキシベース)のように動作します

ただし、注意点があります。

あなたはインタフェースがこのノート(source)を考慮使用しない場合:コントローラ・インタフェース(AOPのプロキシ処理用など)、一貫してすべてのマッピング注釈を入れて確認して使用する場合


- などを@RequestMappingおよび@SessionAttributes - 実装クラスではなくコントローラインターフェイス上。

また、そうでない場合は、Proxying mechanismsの説明に従ってproxy-target-class="true"を設定する必要があります。

+0

こんにちは、私の問題を解決することができました。私のコントローラは異なるコンテキストにあり、私のaop定義は異なるアプリケーションコンテキストにあります。 – user545520

+0

@ user545520さて、upvoteや受け入れチェックマークはどうですか? –