[Seasar-user:16551] Re: 任意のクラスのコンストラクタへのロジックのWeaving方法
Yasuo Higa
[E-MAIL ADDRESS DELETED]
2008年 12月 25日 (木) 14:17:08 JST
ひがです。
> はじめまして。町田と申します。
>
> この度、Webアプリケーションを作成するにあたり、初めて
> Teedaを使用させていただいております。
>
> 質問させていただきたい内容としてはTeedaとは関係ないと思うのですが、
> 任意のクラスのコンストラクタが実行される前後にロジックを
> 織り込む方法です。
> 前提とする構成は
> ・Teeda : 1.0.13-sp4
> ・S2container : 2.4.32
> ・SMART Deployの推奨構成に従う
> です。
>
> 想定する実装としては、ページクラスの生成時に
> ユーザ承認処理を織り込みたいと思っております。
>
Seasar2では、コンストラクタにアスペクトをWeavingすることはできません。
> ある任意のメソッドが呼ばれた時点へのロジックの
> 織り込み方法については色々調べ、customizer.dicon
> にてpageCustomizerに対してMethodInterceptorを実装した
> interceptorを追加したAspectCustomizerを追加することで
> 対応出来ました。
> この方法でpointcutに"initialize"を設定し当初実装していた
> のですが、ページクラスにてinitializeメソッドが実装されていな
> かった場合、当然織り込んだロジックは呼ばれません。
>
ページの親クラスを作り、そこにinitialize()を定義して、
initializeにpointcutを指定するのが、一番楽だと思います。
Seasar-user メーリングリストの案内