Springなどを利用せずにGroovy単体でInterceptorできないものかを調べてみた。 きっかけはGriffonアプリを作成しているのだが、全アクションに同じようなログ出力処理が散らばってしまっているため一元管理したかったこと。 以下の2点にさえ注意すれば実現できる。 GroovyInterceptableというインターフェイスを実装する invokeMethodメソッドを実装する いろいろ試して作成したログ出力サンプルコードは以下の通り。(ひとまずはLog4jなどを利用せず、printlnを利用している) #!/usr/bin/env groovy class X implements GroovyInterceptable { def invokeMethod( String name, Object args ) { def println = System.out.&pr
![Groovyで、クラスにInterceptor(AOP)を適用する - ゲンゾウ用ポストイット](https://cdn-ak-scissors.b.st-hatena.com/image/square/06a15c64ba0ceec233d86d71001ebb29a9dcbf5d/height=288;version=1;width=512/https%3A%2F%2Fcdn.blog.st-hatena.com%2Fimages%2Ftheme%2Fog-image-1500.png)