7

ProxyFactoryBean私は、Spring AOP (つまり) が使用されているレガシー アプリケーションに取り組んでいます。

特定のクラスのメソッドにアスペクトを追加する必要があります。ただし、このクラスはBeanではありません。AspecjJ ポイントカット式は次のようになります。 execution(* xyz.package.Class.method())

MethodInterceptorとを作成しましたAspectJExpressionPointcutが、これら 2 つを連携させる方法がわかりません。

編集:
このクラスのソース コードはありません。これはサード パーティのライブラリです。このクラスのインスタンスは、ソースコードでも、Bean としてのスプリング構成でも、私が作成したものではありません。ライブラリによって内部的に使用されます。

どんな助けでも感謝します。

4

2 に答える 2

4

hereで説明されているように、AspectJ の完全なサポートでロード時のウィービングを使用できます。アドバイスされるクラスのソースへのアクセスやインスタンス化の制御は必要ありません (ただし、または他の方法<context:load-time-weaver />を使用するウィーバー自体の存在が必要です)。-javaagent:...

于 2010-03-18T17:08:31.867 に答える
3

試してみてください@Configurableこのドキュメントで説明されています。

@Configurable アノテーションは、Spring 駆動の構成の対象としてクラスをマークします

(必要です<context:load-time-weaver />

更新applicationContext.xmlとして リストすることにより、サードパーティのコンポーネントをBeanにすることができ<bean class=".." />ます(それは必要ありません@Configurable

于 2010-03-18T13:32:27.430 に答える