Java™ EE プラットフォームの Context and Dependency Injection (CDI) は、JSR 299 仕様に基づいた実装です。CDI を実装するアプリケーションを Java EE プロジェクトに作成できます。
CDI アプリケーションは、Web アーカイブ (WAR) の WEB-INF ディレクトリーまたは JSR 299 仕様で定義された他のタイプのアーカイブの META-INF ディレクトリーに存在する
beans.xml ファイルによってアクティブ化されます。コンテナーがアクティブ化されると、以下のようなサービスを提供します
- コンテキスト管理
- タイプ・セーフな依存関係注入: 必要に応じて CDI 管理対象 Bean がインスタンス化され、注入されます。
- デコレーター。これは、1 つ以上の Bean インターフェースを実装し、また、ビジネス・ロジックを含むことができます。
デコレーターは、デフォルトでは無効になっています。1 つの Bean に対して複数のデコレーターを指定することができ、順序は Bean によって定義されます。
- インターセプター・バインディング。インターセプターは、beans.xml ファイル内で手動で有効にすることができ、インターセプター・バインディング・タイプを使用してバインドされます。
- イベント・モデル
- Expression Language (EL) を使用した JavaServer Faces (JSF) ファイルおよび JavaServer Pages (JSP) ファイルへの統合
CDI 注釈について詳しくは、Package javax.inject および Package javax.enterprise.context を参照してください。
WebSphere® Application Server での CDI の使用法について詳しくは、Contexts and Dependency Injection (CDI) を参照してください。