問題タブ [spring-aop]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 匿名の内部クラスを持つ Spring AOP
私はいくつかの匿名内部クラスを使用します
そして今、このクラスにAOPラッピングを追加したいと思います。これどうやってするの?ありがとう。
java - テスト用にモック Bean を Spring コンテキストに注入する
同様の質問がされていることは知っていますが、検索を行ったところ、ここで満足している解決策に出くわしました
ただし、私の唯一の問題は、このソリューションを実装する方法がわからないことです。
私ができるようにしたいのは、HotswappableTargetSource を介して、アプリケーション コンテキスト内の選択した Bean の Bean 定義をテスト バージョンでオーバーライドし、テストを実行することです。
次に、テスト ケースごとにホット スワップ可能にする Bean を指定し、各テストで独自のモック バージョンを作成してそれらをスワップし、再度スワップできるようにする必要があります。
テストが実行されているアプリケーション コンテキストを取得できますが、Bean をホット スワップ可能に構成する方法がわかりません。xml を使用して Bean を構成する方法は知っていますが、xml を使用して Bean を構成する方法に戻りたくありません。
java - 文字列セッターの Spring AOP ポイントカット定義
null
エンティティ パッケージのセッター メソッドの文字列引数で空の文字列をチェックし、それらを値に置き換えるアスペクトを開発しています。しかし、残念ながら私のアスペクトはうまく機能しません:(。私のポイントカット定義が原因だと思いますが、よくわかりません。
私の側面は次のようになります。
私の春の設定は次のようになります:
私のテストクラスは次のようになります:
テストを実行すると、アスペクトはセッターをインターセプトしません。誰かが理由を知っていますか?!
乾杯、
ケビン
java - Aspectjはメソッドの引数を上書きします
セッターメソッドの引数をチェックし、空の文字列をnull値で上書きするアスペクトを開発しています。これはこれまでの私の状態です:
残念ながら、overwriteステートメントargs[i] = null;
は機能するようになりました。誰かがそれを上書きする方法を知っていますか?
乾杯、
ケビン
spring.net - アドバイスされたメソッドがターゲットのメソッドを呼び出すときのSpring AOPの制限
私の使用例は、オブジェクトのすべてのメソッド呼び出しをログに記録することです。ターゲット オブジェクトにメソッド インターセプターを追加した後、メソッドを呼び出しますFoo
。このメソッドはメソッドFoo
を呼び出しますBar
。メソッドのみFoo
がログに記録されます。
Spring のドキュメントを読んで、私が望むものを実装できない理由を説明する文を見つけました。Spring のドキュメント (146 ページ) から:
どちらの場合も、ターゲット オブジェクトで他のメソッドを呼び出すターゲット メソッドの実装は推奨されないことに注意してください。
ここで何か不足していますか?それとも、これは本当に春の制限ですか?
java - SpringAOPプロキシ
私のコード:-
Javaコード:
申し訳ありませんが、このエディタでテキストをフォーマットする方法がわかりません。私の問題は:-
Springはクラスのプロキシを作成していますが、AroundアドバイスのInvokeメソッドを実行することはありません。何が起こっているのか、そしてそれがinvokeメソッドを呼び出すようにする方法を教えてもらえますか?
テストクラスの出力は次のとおりです。-
$ Proxy4 15.5
ありがとう、Manoj
spring-aop - Spring AOP - 特定の側面を除外しますか?
私はSpring 3.0.5を使用していますが、@Aspectステレオタイプでアノテーションが付けられたアスペクトクラスを何らかの方法でロードから除外することが可能かどうか疑問に思っていましたが、同時に、他のアスペクトアノテーション付きクラスを含めましたか? あなたが注釈ルート(私はそうです)に行くなら、それはすべてか無かのようです。
この理由は、アスペクトを含む中央のコア ライブラリがあるためですが、この中央ライブラリを使用して作成するすべてのプロジェクトにこれらのアスペクトを含めたくない場合があります。
ありがとう。
java - pointcut.matches(String.class) が「true」を返す理由
私はSpring AOPが初めてで、aspectJ AOPポイントカットの小さなテストを書いています。
String.class は java.util パッケージに含まれていないため、「false」と出力されると思います。しかし、実際には「真実」が得られます。私が犯した間違いは何ですか?
バージョン: 春 3.0
前もって感謝します。
java - MultiActionController で aop:pointcut アノテーションを定義する方法
私はSpring AOPを初めて使用します。助けが必要です
- 私は MultiActionController を持っています。これは注釈ベースです。
- Spring構成ファイルでメソッドとアドバイザーのポイントカットを定義しました。
- 私はコントローラーからそのメソッドを呼び出しています。
私の質問は次のとおりです。コントローラーでポイントカット注釈を定義する方法は?
ヒントを教えてください。
前もって感謝します。
spring - ServletContext リソースで定義された「org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping#0」という名前の Bean の作成中にエラーが発生しました
問題 :
クラスでメソッドを実行するためのポイントカットを作成しています。このクラスはコントローラークラスであり、アノテーション @Controller によって示されるため、アスペクトで必要な同じものには Bean は必要ありません。ディスパッチャーサーブレットコード、アスペクト、およびコントローラークラスを添付しています。誰かが問題を特定できますか。
ディスパッチャサーブレット:
側面 :
コントローラ クラス:
コンソールのエラー: