問題タブ [pointcut]
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.
spring - Hibernate によって返されるオブジェクトに関する Spring AOP のアドバイス
Spring AOP アドバイスは、hibernate によって返されるオブジェクトのメソッドを開始していません。
私のプログラムでは、休止状態はタイプ CFolder のオブジェクトのリストを返しています。
私が欲しいのは、誰かが休止状態によって返された CFolder オブジェクトで getName() メソッドを呼び出したときに、Spring AOP に「getName() の前」と「getName() の後」を書き込むことです。
フォルダを表すCFolder
すべての CFolder を検索するリポジトリ クラス
java - Spring ポイントカット指示子の違い (内と実行)
お願いします...次のスプリングポイントカット指定子の使用の違いは何ですか?
「ポイントカット指定子内」の使用:
「実行ポイントカット指定子」の使用:
私は自分の Web プロジェクトで 2 番目のものを使用しています (そして、それが最も使用されていると思います)。このアプローチで見つかった問題は、ヒープで多くのメモリを消費していることです...
「Eclipse メモリ アナライザー」を使用してアプリケーション サーバーの「ヒープ ダンプ」を分析したところ、アプリケーションが 450 MB を消費しており、クラスのインスタンスが 450 MB の"org.springframework.aop.aspectj.AspectJExpressionPointcut
30% を消費していることがわかりました...
の各インスタンスはAspectJExpressionPointcut
(約) 6 MB を占めます。これは、各インスタンスが java.lang.reflect.Method のインスタンスと一致するキャッシュを保持し、驚くべきことにキャッシュされた Java メソッドが多数あるためです (私のポイントカット式では言及されていないメソッド)。
Spring のドキュメントを読んだ後、最初の 1 つのアプローチ (ポイントカット指定子内) を使用することにしました。これにより、各インスタンスがAspectJExpressionPointcut
占有するメモリがはるかに少なくなりました。
問題はそれについてです...それらのパフォーマンスの違いは何ですか...
よろしくお願いします...
java - Binding annotation objects to advice body
I was able to get the @annotation pointcut work for my basic needs.
But when I try to bind it to the advice body like below, I get the IllegalArgumentException
.
Exception:
Full trace:
Am I using the pointcut inappropriately in this case?
spring - アドバイス後のSpring AOPがgetter関数で正しく機能しない
Spring Framework では、AOP を使用しているときに奇妙な問題に直面しています。挨拶用に次の単純な Bean クラスがあります。
春の設定の下:
AOP アドバイス メソッド:
テスト クラス:
出力:
質問:
getter をポイントカットとして使用すると、両方のアドバイス (前と後) が出力されるのはなぜですか。displayGreeting() メソッドでポイントカットを使用すると、アドバイスが正しく機能しますか??