0

私はSpring AOPを初めて使用します。助けが必要です

  1. 私は MultiActionController を持っています。これは注釈ベースです。
  2. Spring構成ファイルでメソッドとアドバイザーのポイントカットを定義しました。
  3. 私はコントローラーからそのメソッドを呼び出しています。

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

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

前もって感謝します。

4

1 に答える 1

1

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

したがって、コントローラーとアスペクトの両方が同じApplicationContextにある場合(およびポイントカットがコントローラーのメソッドと一致する場合)、アドバイスは自動的に適用されます。

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

Spring AOPは、インターフェースを使用してコントローラーをバックアップする場合にのみ、標準(JDKプロキシベース)の方法で機能します。

インターフェイスを使用する場合は、次の注意事項(ソース)を検討してください。

(注)コントローラインターフェイスを使用する場合(AOPプロキシなど)、実装クラスではなく、コントローラインターフェイスにすべてのマッピングアノテーション(および
など)を一貫して配置するようにしてください。@RequestMapping@SessionAttributes

そうでない場合は、プロキシメカニズムproxy-target-class="true"のセクションで説明されているように設定する必要があります。

于 2010-12-20T08:05:30.973 に答える