Javassist proxyFactoryは、メソッドインターセプタで実行時にプロキシを作成できます。しかし、メソッド・インターセプタをクラス・ファイルを変更することによってクラスに静的に追加する方法はありますか?バイトコードツール:メソッドインターセプタをクラスに追加する(プロキシではない)
たとえば、Fooクラスのメソッドを呼び出す前に、Fooクラスには100個のメソッドがあり、Fooインスタンスが初期化されているかどうかを確認する必要があります。
public class Foo {
public void methodA() {
...
}
public void methodB() {
...
}
public void methodC() {
...
}
....
}
このようなメソッドインターセプタを追加するには、クラスファイルを変更する方法はありますか。 1つの方法は、各メソッドの先頭にコードを追加することです。より良い方法がありますか?
cglibなどの他のバイトコードツールはどうですか?