問題タブ [spring-aspects]
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 - 春のAOP。注釈付きクラスのすべてのパブリック メソッドのポイントカットを作成する方法
何らかの注釈が付けられたクラスのパブリック メソッドからスローされるすべての例外を処理する必要があります。Spring AOP を使用しようとしています。これは私のロガーです:
@Loggable
私の注釈です。
@EnableAspectJAutoProxy
次に、構成クラスに注釈を追加しました。
最初に、例外をスローするメソッドに注釈を付けようとしました。正常に動作しますが、アノテーションで注釈が付けられたクラスのすべてのパブリック メソッドに対してこれを機能させるにはどうすればよい@Loggable
ですか?
spring - AspectJ からプロキシ モードに切り替えると、「TransactionRequiredException: 更新/削除クエリを実行しています」が発生しなくなるのはなぜですか?
Spring Data Jpa と Hibernate の使用に問題があります。
これが私が得る例外です:
AspectJ モードからトランザクション管理を変更した場合
デフォルトのプロキシ モードへ:
例外は発生しなくなりました。
メソッドの呼び出し順は次のとおりです。
からMessageRestController
:
からMessageService
:
からMessageRepository
:
AspectJ モードから Proxy モードに切り替えると例外が発生しなくなる理由を知りたいと非常に興味があります。
誰かアドバイスしてもらえますか?
edit : サービス実装宣言は次のとおりです。
そしてサービスインターフェースから:
aspectj - アスペクトの「メソッド引数」の名前を取得しますか? (アスペクトJ)
アスペクトで引数の名前を取得するにはどうすればよいですか。たとえば、メソッドが test(Sample sampleDto) の場合、アスペクトで sampleDto の名前を知る必要があります。ProceedingJoinPoint からどのように取得しますか? これを試してみましたが、null になります。