SAStrutsで使用するアノテーションを簡単にですが
勉強のため並べてみます
@~(この括弧内は無くても可能)
●コンポーネント定義(app.dicon)のためのアノテーション
①@Component(属性 = "指定名")
→クラスに付与
→DIのコンポーネント登録
→属性
name:コンポーネント名
instance:ライフサイクルの属性
autoBinding:自動バインディングの設定
※instanceの指定名
InstanceType.SINGLETON:シングルトン
InstanceType.PROTOTYPE:複数インスタンス化可能
InstanceType.SESSION:セッションごとに1つのインスタンス
(セッション用Dtoで使用、必ずSerializableインタフェースを使用)
InstanceType.REQUEST:リクエストごとに1つのインスタンス(通常のDtoで使用)
InstanceType.APPLICATION:サーブレットコンテキストごとに1つのインスタンス
InstanceType.OUTER:S2Container外のインスタンス
※autoBindingの指定名
AutoBindingType.AUTO:自動
AutoBindingType.CONSTRUCTOR:コンストラクタ
AutoBindingType.PROPERTY:プロパティ
AutoBindingType.NONE:指定なし
②@Binding(bindingType="コンポーネント名")
②@Resource[javaEE標準]
→プロパティ(フィールドまたはセッターメソッド)に付与
→DI対象のもの(@Componentのものを入れる?)
③@Aspect
→クラスまたはメソッドに付与
→AOPのコンポーネント登録(Interceptorなど)
④@InterType("インタータイプ名")
→クラスに付与
→インタータイプのコンポーネント登録
※インタータイプ
静的なクラスの構造を変更するもの
⑤InitMethod
→初期化用のメソッドに付与
→コンテナの初期化時に呼び出される
⑥DestroyMethod
→破棄処理用のメソッドに付与
→コンテナの破棄時に呼び出される
●インタータイプを使うアノテーション@Property
@Property("追加するメソッドの設定")
→フィールドに付与
→"追加するメソッドの設定"
PropertyType.READWRITE:setterとgetter
PropertyType.READ:getter
PropertyType.WRITE:setter
PropertyType.NON:何も設定しない
●アクション系のアノテーション
@ActionForm
→Strutsのアクションフォーム設定
※アクションフォーム
フォーム画面(jsp)から送信されてくるデータの保持、
他のプログラムからのデータの参照を行う機能を持つ
@Required
→検証対象のプロパティに付与
→アクションフォームには必ず付与
→対象のメソッドを登録できる(target)
@Execute
→実行メソッドにつけるアノテーション
→実行メソッドの戻り値は、遷移先のパス
→入力チェックの設定が可能(validator)
※実行メソッド
リクエストを処理するメソッド
●Interceptorを使うアノテーション(メソッドに付与)
@Trace
→トレースログを出力(TraceInterceptor)
→引数や戻り値を出力する
@SimpleTrace
→トレースログを出力(SimpleTraceInterceptor)
→引数や戻り値を出力しない
@Sync
→メソッド呼び出しを同期化(SyncInterceptor)
@TraceThrows
→例外処理を共通的に行う(ThrowInterceptor)
@RemoveSession(name="削除するオブジェクト名")
→メソッドが正常終了した場合にセッションに格納されているオブジェクトを削除
(RemoveSessionInterceptor)
@InvalidateSession
→メソッドが正常終了した場合にセッションを破棄
(InvalidateSessionInterceptor)
@DependencyLookup
→ゲッターメソッドに適用
→ルックアップしたコンポーネントを返却(DependencyLookUpInterceptor)
@ToString
→フィールドの情報を自動的に出力(ToStringInterceptor)
※Interceptorについて(Seasarサイト)
http://s2container.seasar.org/2.4/ja/aop.html
●アノテーションリファレンス
http://sastruts.seasar.org/annotationReference.html
[6回]
PR