Seasarプロジェクト ＞ Seasar.NETプロジェクト ＞ S2Container.NET ＞ DIContainer

# 2つの DIContainer

上へ

S2Container.NET は S2Container と Quill という2つの DIContainer を提供しています。 それぞれの特徴は下表の通りです。

| S2Container | Quill
--- | --- | ---
生い立ち | 従来の Java から移植された DIContainer | S2Container.NET オリジナルの DIContainer
設定方法 | XML（Dicon ファイル） | 属性
機能 | Quill に比べると多機能 | ステートレスな業務ロジックを構築する為の最小限の機能
インスタンスモード | singleton, prototype, request, session, outer | singleton
DI の種類 | コンストラクタ・インジェクション, プロパティ・インジェクション, メソッド・インジェクション | フィールド・インジェクション
AOP の 種類 | RealProxy（透過プロキシ）, DynamicProxy（型の拡張） | DynamicProxy（型の拡張）
使い分け | Java の Seasar2 の利用経験が有り同じように利用したい場合や、細かく DI を制御したい場合、 Dicon ファイルを置き換えることで実装を切り替えたい場合 | シンプルな DI と AOP 利用したい場合（細かく DI を行いたい場合は Quill をカスタマイズするか S2Container のコンポーネントを呼び出すことができます）

S2Container に関するドキュメントは下記の目次を参照してください。 Quill に関するドキュメントは「Quillで簡単DI+AOP」を参照してください。

※Seasar.NETでは Quill を推奨しています。

# 目次

上へ

- S2Container リファレンス
  - 作成すべきファイル
  - S2Containerの定義(Diconファイル)
  - S2Containerの作成
  - S2Containerの初期化
  - コンポーネントの取得
  - アプリケーション構成ファイル
  - Dependency Injectionの種類
  - S2Container定義(diconファイル)の分割とインクルード
  - 名前空間
  - インスタンス管理
  - ライフサイクル
  - 自動バインディング
  - コンポーネントでS2Containerを利用する
  - app.diconの役割
  - AOPの適用
  - メタデータ
  - コンポーネントの自動登録
  - アスペクトの自動登録
- Diconタグリファレンス
  - DOCTYPE
  - componentsタグ
  - includeタグ
  - componentタグ
  - argタグ
  - propertyタグ
  - metaタグ
  - initMethodタグ
  - destroyMethodタグ
  - aspectタグ
  - descriptionタグ
  - JScript.NET式
- Examples
  - コンストラクタ・インジェクション
  - プロパティ・インジェクション
  - メソッド・インジェクション
  - 自動バインディング（コンストラクタ・インジェクション）
  - 自動バインディング（プロパティ・インジェクション）

© Copyright The Seasar Project and the others 2004-2009, all rights reserved.