Seasar2
キーワード概要 S2JDBC DB処理 S2JDBC-Gen DB処理 S2Unit 単体テスト S2Junit4 単体テスト S2Mai メール処理 S2Chronos バッチ処理 S2Config 設定ファイルの外部化 S2CSV CSV入出力
キーワード概要 アクション 一つ以上の実行メソッドを持っているクラス アクションフォーム リクエストパラメータを受け取るクラス(必須ではない) 実行メソッド リクエスト時に呼ばれるメソッド URLマッピング URLからどのアクションクラスのどの実行メソッ…
独自にInterTypeを作成する場合は、次のインターフェースまたは、抽象クラスを実装します。 org.seasar.framework.aop.InterType org.seasar.framework.aop.intertype.AbstractInterType 空クラスにメソッドを追加してみる。 app.dicon
InterTypeはクラスの静的な構造(フィールド追加、メソッド追加)を変更することができます。 S2AOPとして提供しているInterType - PropertyInterType a. フィールドに対するsetter,getterが追加できる。 b. <interType>タグを使う c. protected, publicフィールドであ</intertype>…
独自にInterceptorを作成する場合は、次のインターフェースまたは、抽象クラスを実装します。 org.aopalliance.intercept.MethodInterceptor org.seasar.framework.aop.interceptors.AbstractInterceptor app.dicon
InterceptorChainクラスを使い、Interceptorをクループ化する。 <component name="interceptor1" ... /> <component name="interceptor2" ... /> <component name="chain" class="org.seasar.framework.aop.interceptors.InterceptorChain"> <initMethod name="add"><arg>interceptor1</arg></initmethod></component></component></component>
S2AOPとして提供するInterceptor. 予めaop.diconに登録してある。 クラス名コンポーネント名説明 TraceInterceptor aop.traceInterceptor トレースログ出力 ClassLoaderAwareTraceInterceptor aop.classLoaderAwareTraceIntercept…
AOPはAspect oriented Programming(アスペクト指向プログラミング)である。 なにができるを簡単を説明すると 複数のメソッドの前後同じ処理(ログ出力とか)を適用できる。 Seasar2ではS2AOPという、S2Containerで管理するコンポーネントに対してAOP適用する…
1. diconファイルの分割 2. diconファイルの自動切り替え include : 親は子のコンポーネントが参照できるが、逆はできない。 containerインスタンスが複数生成される。 xi:include : 親と子は相互参照可能。 読み込まるので、containerインスタンスは一つ生…
diconファイルではOGNL式(Object-Graph-Navigation Language)が使用可能です。 1. リテラル 2. コンポーネントのプロパティ、メソッド 3. 配列、マップ参照 4. 静的プロパティ、メソッド 5. オブジェクト生成 などなど app.dicon
diconファイルの登録したコンポーネント以外に、外部コンテキストによって提供される値をバインドする機能です。 この機能はWebアプリケーションにおいてリクエストパラメータの値など自動バインディングするために使用されます。 外部バインディングを有効…
DIの指定を省略した場合、 コンポーネント間の依存関係は、 型および名前によってS2Containerが自動的に解決します。 componentタグのautoBinding属性を指定することで細かく制御することもできます。 autoBinding説明 auto(default) コンストラクタとプロパ…
フィールドにDIを行なうのがフィールド・インジェクションです。 フィールドには、Bindingアノテーションを使って指定します。この機能は、2.4から利用できます。 app.dicon < <components> <include path="convention.dicon"/> </include></components>
メソッドにDIを行なうのがメソッド・インジェクションです。 コンポーネントのメソッドには、componentタグの子タグであるinitMethodタグを使って指定します。 メソッド名はname属性で指定します。 initMethodタグの子タグであるargタグで引数を指定すること…
セッターメソッドにDIを行なうのがセッター・インジェクションです。 コンポーネントのプロパティには、componentタグの子タグであるpropertyタグを使って指定します。 プロパティ名はname属性で指定します。 app.dicon <components> </components>
コンストラクタの引数にDIを行なうのがコンストラクタ・インジェクションです。 コンストラクタの引数には、componentタグの子タグであるargタグを使って指定します。 app.dicon <components> <include path="convention.dicon"/> </include></components>
S2ContainerをWebアプリで使用する際に下記 コンポーネントはdicon.appに定義しなくても使用できる。 型コンポーネント名 S2Container container HttpServletRequest request HttpServletResponse response ServletContext application map applicationScope…
1. コンポーネントの定義はcomponetタグで定義する。 属性名説明 class(必須) コンポーネントのクラスを指定する name コンポーネント名を指定する instance コンポーネントのライフサイクルを指定する。詳細は2,3を参照 autoBinding コンポーネントの自動バ…
1. SingletonS2ContainerFactory VM上に一つのコンテナ存在していい場合に使う。 2. S2ContainerFactory VM上に複数のコンテナが必要な場合に使う。 3. S2ContainerServlet Webアプリケーションの場合に使う。 S2ContainerServletがSingletonS2ContainerFact…