第5章 MISC

目次

5.1. S2Container-1.2とS2Container-2.0 機能比較
5.2. コンポーネントでS2Containerを使用する
5.3. S2Containerのログ設定
5.3.1. S2Logger
5.3.2. SimpleLogger
5.4. Annotation API リファレンス
5.5. ClassLoader API リファレンス
5.6. PDOを用いたデータベースアクセス
5.6.1. PDOを継承するクラスを使用する
5.6.2. DICONファイルでPDOを設定する
5.7. PdoInterceptorを用いたデータベースアクセス
5.7.1. Exampleについて
5.7.2. PdoInterceptorの概要
5.7.3. クラスにアスペクトする
5.7.4. メソッドの戻り値でバインド値を設定する
5.7.5. インターフェースにアスペクトする
5.7.6. メソッド引数でバインド値を設定する
5.7.7. @DTOアノテーションを使用する
5.7.8. DaoクラスでPDOを直接使用する
5.7.9. Paginateクラスでページング処理
5.8. メソッド引数を検証するStrictInterceptor
5.8.1. Exampleについて
5.8.2. StrictInterceptorの概要
5.8.3. StrictInterceptorをアスペクトする
5.9. Zend_ControllerでS2Containerを使用する
5.9.1. 動作環境
5.9.2. プロジェクトの作成
5.9.3. S2Containerの設定
5.9.4. アクションメソッドでS2Containerを利用する
5.9.5. コンポーネントのUnitTest
5.10. ERDデザインツールとS2Erd
5.10.1. 動作環境
5.10.2. サンプルプロジェクトの作成
5.10.3. S2Erdのインストール
5.10.4. S2Erdの設定
5.10.5. Autoload設定
5.10.6. Zend_Toolコマンド
5.10.7. TableモデルのUnitTest
5.10.8. ServiceでTableモデルを使用する
5.11. SymfonyでS2Containerを使用する
5.11.1. Smfonyのスタートアップ
5.11.2. S2Containerの設定
5.11.3. アクションの作成
5.11.4. Mockを使用する

5.1. S2Container-1.2とS2Container-2.0 機能比較

表5.1 S2Container-1.2とS2Container-2.0 機能比較表

機能S2Container-1.2S2Container-2.0
プロパティ・インジェクション無し有り
セッターメソッド・インジェクション有り有り
コンストラクタ・インジェクション有り有り
メソッド・インジェクションInitMethod、DestroyMethodInitMethod
インスタンスタイプsingleton、prototype、outer、request、sessionsingleton、prototype
バインディングタイプauto、constructor、property、noneauto、none
アノテーション拡張機能(extension)でのAnnotation関連、S2ContainerApplicationContextクラスのアノテーション機能seasar\util\Annotationクラスに統合
バンドル Interceptor S2Container_TraceInterceptor
S2Container_MockInterceptor
S2Container_DelegateInterceptor
S2Container_PrototypeDelegateInterceptor
S2Container_ThrowsInterceptor
S2Container_TraceThrowsInterceptor
S2Container_InterceptorChain
seasar\aop\interceptor\TraceInterceptor
seasar\aop\interceptor\MockInterceptor
seasar\aop\interceptor\InterceptorChain
デフォルト Pointcut実装している Interface の すべての public メソッド。 Interface を実装していない場合は無し。 実装している Interface の すべての public メソッド。 Interface を実装していない場合は、そのクラスが実装しているすべての public メソッド。 ただし、set、get、is で名前が始まるメソッドは除外される。
Pointcut の指定 カンマ区切りで複数指定可 (例 .+Dao,.+Service) 単一指定 (例 /.+Dao$/ )
ClassLoaderS2ContainerClassLoader、S2ContainerApplicationContext クラスseasar\util\ClassLoader クラス
Singleton S2Container 機能S2Container_SingletonS2containerFactory クラスS2ApplicationContext クラスの Singleton S2Cotainer 機能
ログ機能有り有り
S2Container キャッシュ機能有り無し
S2AOP キャッシュ機能有り有り
コンポーネント自動登録機能拡張機能(extension)のコンポーネント自動登録機能と S2ContainerApplicationContextのimport機能S2ApplicationContext クラスのimport機能に統合
Aspect 自動登録機能拡張機能(extension)のAspect 自動登録機能と S2ContainerApplicationContextのregisterAspect機能S2ApplicationContext クラスのregisterAspect機能に統合
コンポーネントの登録名コンポーネント名、クラス名コンポーネント名、namespace付きクラス名、クラス名、先頭が小文字のクラス名
環境指定有り無し
S2ApplicationContext::registerAspect メソッド引数
  • 第1引数 : コンポーネントパターン
  • 第2引数 : Interceptor
  • 第3引数 : Pointcut
  • 第1引数 : Interceptor
  • 第2引数 : コンポーネントパターン (optional)
  • 第3引数 : Pointcut (optional)
また、戻り値としてAspectInfoDefインスタンスが返ります。



© Copyright The Seasar Foundation and the others 2005-2010, all rights reserved.