10

CDI を初めて使用するので、代替と修飾子の実際的な違いを知りたいです。

Weld referenceでは、次のように述べられています。

4.3. 修飾子の注釈

特定の Bean タイプを実装する複数の Bean がある場合、インジェクション ポイントは修飾子アノテーションを使用して、どの Bean をインジェクトする必要があるかを正確に指定できます。

しかし、代替案を説明している間、次のように述べられています。

4.7. 代替案

代替は、実装が特定のクライアント モジュールまたは展開シナリオに固有の Bean です。

私の理解が正しければ、@Qualifier は、ターゲット Bean のどの実装が注入ポイントに注入されるかを定義します。

一方、 @Alternative は、クライアントに応じて、標準の代替(「@default」を意味する)Beanが注入のポイントに注入されるかどうかについて、展開中の希望を記述します。

そうですよね?

4

1 に答える 1

3

はい、そうです。修飾子は、ソース コードで注釈を使用して、開発時にセットアップする基本的な織り方であると考えることができます。

代替手段を使用すると、ファイルを使用して実行時にこれを上書きできますbeans.xml(単純な展開アーティファクト)。

典型的なシナリオは、環境ごとbeans.xmlに異なるものを使用して、ローカル/統合環境で実行したくないコンポーネントのモック代替を有効にすることです。

于 2012-08-29T05:07:16.053 に答える