0

Spring アプリケーションで LTW を有効にしました。問題の推奨 Bean に Spring の AOP 機能がない限り、クラスは適切に織り込まれます。つまり、プロキシではなくメソッド内でのバイトコード変更です。

ただし、その Bean にtx:annotation-drivenとを追加すると@Transactional、以前は適切なバイトコードで織り込まれていたすべてのメソッド (Spring の機能とは関係のないものも含む) が、すべて JDK プロキシ経由で呼び出されるようになりました。

tx:annotation-drivenこれはおそらく、AspectJ を手放して構成tx:adviceし、Spring の アノテーションが付けられたメソッドにSpring を使用する必要があることを意味します@Transactional

しかし、AspectJ 構成から Spring Bean にアクセスするにはどうすればよいでしょうか?

4

1 に答える 1

0

私が見つけた唯一の解決策は、AspectJ コンパイラをビルド ツールチェーンに追加しAbstractTransactionAspect.aj、Spring スタートアップ コールでアスペクトを実装することTheImplementedAspect.aspectOf().setTransactionManager()です。

于 2013-11-05T12:56:39.237 に答える