AOP

Hibernate Validator を使ったメソッド引数のチェック - AspectJ による組み込み

JSR 303 - Bean Validation のリファレンス実装である Hibernate Validator と AspectJ を使ってメソッドの引数をチェックする処理を実装してみました。 Hibernate Validator 4.2.0 Final サンプルソースは http://github.com/fits/try_samples/tree/master/…

Spring におけるアノテーションと設定ファイルの使い分け - SpEL, util:properties, AOP

Spring ではアプリケーションの構成(Bean 定義)を設定するための方法がいくつか用意されており、どれを使えばよいのか悩ましいところですが、個人的には以下のような使い分けが良さそうだと考えています。 DBの接続設定等のパラメータ系はプロパティファイ…

AspectDNG の GAOP 機能の問題点

GAOP 機能は、アスペクトのウィービング時に内容を決定できる機能で実装の追加内容を文字列等で指定できる。ただし、AspectDNG 1.0.3 の Generic アトリビュートを使った GAOP 機能では以下のような問題があり、現段階での有効利用は難しい印象がある。 フィ…

AspectDNG を使って private なフィールドにアクセスするメソッドを追加する

ターゲットクラスの private なフィールドにアクセスするメソッドを追加するには、アスペクトの定義クラスに Insert カスタムアトリビュートを使ってメソッドを実装すればよいだけだが、コンパイルを通すために アスペクトの定義クラスでターゲットクラスと…

AspectDNG を使ってインターフェースを追加実装する

.NET 用の AOP ツールである AspectDNG を使って、指定のクラスにインターフェースを追加実装する。手順は以下の通り クラスとインターフェースの作成 アスペクトの定義と適用 テストクラスの作成と実行 クラスとインターフェースの作成 アスペクトの適用対…

JBossAOP を Groovy から利用

JBoss の AOP 環境 JBossAOP(1.5.5 GA)を Groovy(1.0)から以下のようにして使ってみる。 Groovy のスクリプトでインターセプターを定義(org.jboss.aop.advice.Interceptor の実装クラス) JBossAOP の DynamicAOP 機能を使って Groovy スクリプトの実行…