私はSpring AOPを初めて使用します。助けが必要です
- 私は MultiActionController を持っています。これは注釈ベースです。
- Spring構成ファイルでメソッドとアドバイザーのポイントカットを定義しました。
- 私はコントローラーからそのメソッドを呼び出しています。
私の質問は次のとおりです。コントローラーでポイントカット注釈を定義する方法は?
ヒントを教えてください。
前もって感謝します。
私はSpring AOPを初めて使用します。助けが必要です
私の質問は次のとおりです。コントローラーでポイントカット注釈を定義する方法は?
ヒントを教えてください。
前もって感謝します。
AOPの要点は、ターゲットクラスではなく、外部アスペクトクラス(またはXMLベースのSpring AOPの場合はXML)でポイントカットを定義することです。
したがって、コントローラーとアスペクトの両方が同じApplicationContextにある場合(およびポイントカットがコントローラーのメソッドと一致する場合)、アドバイスは自動的に適用されます。
ただし、注意点があります。
Spring AOPは、インターフェースを使用してコントローラーをバックアップする場合にのみ、標準(JDKプロキシベース)の方法で機能します。
インターフェイスを使用する場合は、次の注意事項(ソース)を検討してください。
(注)コントローラインターフェイスを使用する場合(AOPプロキシなど)、実装クラスではなく、コントローラインターフェイスにすべてのマッピングアノテーション(および
など)を一貫して配置するようにしてください。@RequestMapping
@SessionAttributes
そうでない場合は、プロキシメカニズムproxy-target-class="true"
のセクションで説明されているように設定する必要があります。