2

クラスフィールドが読み書きされるたびにコードを実行するバイトコード拡張を介して、クラスに「フック」を追加することは可能ですか?たとえば、新しい値がフィールドに割り当てられるたびに、「ダーティ」フラグを自動的に設定したいと思います。

もしそうなら、どのライブラリがこの機能を実装するのに最も適していますか?

4

2 に答える 2

2

AspectJについて読むことをお勧めします。おそらく、これはあなたが探しているツールです。

于 2010-11-16T13:29:44.677 に答える
1

ASMフレームワークを使用してゲッターとセッターを生成する方法は次のとおりです。それはあなたが始めるはずです。

バイトコードリライターをクラスローダーにフックさせて、その場でリライトを実行することもできます。

于 2010-11-16T11:23:41.917 に答える