2

特にクラスの状態に加えられた変更を検出するために、実行時にクラスを拡張する必要があります。可能であれば、フィールドの割り当てをインターセプトすることで変更を検出できるようにしたいと考えています。そうでない場合は、セッターをインターセプトしても問題ありません。どのライブラリを使用する必要があり、その理由は? javassist または cglib または ? これは java.lang.reflect.Proxy で可能ですか? これらのライブラリを比較できますか? ありがとう。

4

1 に答える 1

2

インターフェイスで定義されたセッターをインターセプトするには、プロキシを使用できます。

メソッド呼び出しをインターセプトするには、AspectJ のような AOP を使用できます。

ただし、フィールドの割り当てをトラップするには、ASM、BCEL、cglib、javassist などのバイト コード ライブラリを使用します。私は ASM の方が好きです。高速で、バイト コードを簡単に記述できるツールがいくつかあります。

于 2011-06-21T13:16:04.070 に答える