私はSpring AOPをSpring Boot(1.5.6
)プロジェクトに追加しようとしています。以前は他のプロジェクトでやっていましたので、使い方に慣れています。私は注釈を作成し、それをポイントカットとして使用しました。今回私が直面している問題は、アドバイスされた豆がプロキシされていないことです。したがって、私の側面は引き金になっていません。 私がプロジェクトに以下を追加しました:Spring AOPの自動プロキシが機能しない
spring-boot-starter-aop
@Aspect
と@Component
@Before("@annotation(com.xyz.MeasureThis)")
- と最後ではなく、少なくともサービスメソッドで注釈を付け面における方法でマークされたBeanを
@MeasureThis
サービス方法はから呼び出されます。私がそれをデバッグすると、注入されたサービスBeanがまったくプロキシされていないことがわかります。
問題は、私が考慮に入れることを忘れる可能性があるトリッキーなことがあるかどうかです。私はどのようにautoproxyingが行われているのか分からないので、私が気づいていないことがあるかもしれません。
新しいプロジェクトを最初から作成することで、それを機能させることができましたが、既存のプロジェクトでは自分が望むことをしたくありません。私はそれが一般的な質問の多くのように任意のコードサンプルを投稿していないよ。
は間違いなく春にサービスメソッドです豆? Springは、実際のAspectJとは異なり、Beanとして管理していないオブジェクトを代理しません。 – slim
PS一般的な質問かどうか、とにかくMVCEを作成する必要があると思います。それはあなたが問題を見つけるのを助けるかもしれません。 – slim
あなたの最初のコメントに関して@slim:そうです。あなたの2番目のコメントのために:私は最初から春のブートプロジェクトを作成しました。私が間違っていることがあるかどうかを確認するだけで、うまくいきました。実際のサンプルコードを投稿できますが、それは役に立たないでしょう。問題はどこか深いところ、つまり依存関係やいくつかの競合する設定であると私は信じています。 – Balazs