第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 には、JSR 365: Contexts and Dependency Injection for Java 2.0 のリファレンス実装である Weld が含まれています。JSR-365 の Jakarta EE と同等の仕様は Jakarta Contexts and Dependency Injection 2.0 Specification です。

注記

Weld は、Java EE Platform の Contexts and Dependency Injection のリファレンス実装です。Contexts and Dependency Injection は、依存関係インジェクションおよびコンテキストライフサイクル管理の JCP 標準です。さらに、Contexts and Dependency Injection は Java 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 が切り離されます。
  • 複雑なイベント通知が提供されます。

7.1.2. Relationship Between Weld、Seam 2、Jakarta Server Faces

Weld は、Java EE Platform の Contexts and Dependency Injection のリファレンス実装です。Java EE Platform の Contexts and Dependency Injection と同等の Jakarta は Jakarta Contexts and Dependency Injection 2.0 仕様 です。Weld は、Seam 2 と他の依存関係注入フレームワークの影響を受けており、JBoss EAP 6 に含まれています。

Seam 2 の目的は、Enterprise Java Bean と JavaServer Faces 管理対象 Bean を統合することでした。

Jakarta Server Faces 2.3 仕様 は、サーバー側のユーザーインターフェイスをビルドするための API です。

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2026 Red Hat