第7章 Jakarta Contexts and Dependency Injection
7.1. Jakarta Contexts and Dependency Injection の概要
7.1.1. Jakarta Contexts and Dependency Injection について
Jakarta Contexts and Dependency Injection 2.0 は、Jakarta Enterprise Beans 3 コンポーネントを Jakarta Server Faces 管理 Bean として使用できるようにする仕様です。Jakarta Contexts and Dependency Injection は 2 つのコンポーネントモデルを統合し、Java を使用した Web ベースのアプリケーション向けプログラミングモデルを大幅に簡略化します。Jakarta Contexts and Dependency Injection 2.0 は、Jakarta Contexts and Dependency Injection 2.0 Specification で参照できます。
JBoss EAP には、Jakarta Contexts and Dependency Injection 2.0 と互換性のある仕様である Weld が含まれます。
Weld は、Jakarta EE Platform の Jakarta Contexts and Dependency Injection と互換性のある実装です。Jakarta Contexts and Dependency Injection は、依存関係インジェクションおよびコンテキストライフサイクル管理の Jakarta EE 標準です。さらに、Jakarta Contexts and Dependency Injection は Jakarta EE の最も重要な部分の 1 つです。
Jakarta Contexts and Dependency Injection の利点
Jakarta Contexts and Dependency Injection には以下の利点があります。
- 多くのコードをアノテーションに置き換えることにより、コードベースが単純化および削減されます。
- 柔軟であり、インジェクションおよびイベントを無効または有効にしたり、代替の Bean を使用したり、非 Contexts and Dependency Injection オブジェクトを簡単にインジェクトしたりできます。
-
デフォルトとは異なる設定をカスタマイズする必要がある場合、任意で
beans.xmlファイルをMETA-INF/またはWEB-INF/ディレクトリーに含めることができます。ファイルは空にすることができます。 - パッケージ化とデプロイメントが簡略化され、デプロイメントに追加する必要がある XML の量が減少します。
- コンテキストを使用したライフサイクル管理が提供されます。インジェクションを要求、セッション、会話、またはカスタムコンテキストに割り当てることができます。
- 文字列ベースのインジェクションよりも安全かつ簡単にデバッグを行える、タイプセーフな依存関係の注入が提供されます。
- インターセプターと Bean が切り離されます。
- 複雑なイベント通知が提供されます。