4

この質問は、私の別の質問hereから直接続きます。その質問への回答の最後の段落は、テクノロジーに言及していCDIます。

その技術の目的を説明していただけますか。その技術と JSF や EJB との関係はありますか? 私はこの質問に答えましたが、そのテクノロジーの目的はまだ明確ではありません。特に、EJB や JSF などの他の Java EE テクノロジーとどこが適合するかを知りたいです。

4

2 に答える 2

7
于 2012-12-21T10:51:15.020 に答える
3

まず、CDI は依存性注入の標準フレームワークです。private FooDao dao = new FooDao()オブジェクトがインスタンス化 ( ) ではなく、インスタンスを作成および管理するコンテナーを介して依存関係を取得する方法を定義します。依存性注入について詳しく読むことができます (google/wiki)。

標準では、JSF と EJB の両方でどのように機能するかが定義されています。

  • JSF マネージド Bean は CDI を介して定義できるため、マネージド Bean にサービスを注入でき、CDI が JSF マネージド Bean のライフサイクルを管理できます。
  • EJB は、CDI の高度な依存性注入の恩恵を受けることもできます (以前は、機能の乏しい独自の DI がありました)。

つまり、CDI は JavaEE のすべてのコンポーネントを Spring がそのすべてのコンポーネントに対して行う方法でバインドしますが、CDI は標準です。

于 2012-12-21T05:44:20.410 に答える