ジャカルタEE 8 - C . D . I .を理解する(パート2)-あなたの豆を予選してください.
3893 ワード
[私たちがこのシリーズを続けているように、我々はいくつかの内容と例を参照してくださいCDI 2.x specification ].
サービス契約を認証するためにBeanを1つ以上実装していると仮定するか、または別の目的のために使用するBeanの1つ以上のバージョンを持っていると仮定します.
代わりに豆の選択のための別のコードを書くの豆、選択の選択肢を使用して展開時に行うことができます選択.
代替Beansの定義
Beanをルックアップ、インジェクションまたはEL解決のために利用できるようにするには、あなたの豆を注釈します
使用
複数のモジュールを使用している場合、アプリケーションに対してグローバルに代替ビーンを有効にするには
例03:CDI注射
チュートリアルソースコードを見つけることができますhere 実行可能なクラスファイルが見つかるhere . The
The
我々がそれを確実にしたいならば
将来のチュートリアルでは
サービス契約を認証するためにBeanを1つ以上実装していると仮定するか、または別の目的のために使用するBeanの1つ以上のバージョンを持っていると仮定します.
代わりに豆の選択のための別のコードを書くの豆、選択の選択肢を使用して展開時に行うことができます選択.
代替Beansの定義
Beanをルックアップ、インジェクションまたはEL解決のために利用できるようにするには、あなたの豆を注釈します
@Alternative
集合javax.enterprise.inject.Alternative
).@Alternative
public class MockOrder extends Order { ... }
デフォルトで@Alternative
Beansは無効です.それらは編集によって特定のBeanアーカイブのためにのみ活性化されるbeans.xml
. また、同じインターフェイスを実装するすべての注釈を持つことができます@Alternative
. この場合、beans.xml
ファイルを使用します.あなたが中で指定する選択肢beans.xml
ファイルは同じアーカイブ内のクラスにのみ適用されます.使用
@Priority
選択肢を指定するには複数のモジュールを使用している場合、アプリケーションに対してグローバルに代替ビーンを有効にするには
@javax.annotation.Priority
注釈.@Alternative
@Priority(100)
public class HighPriorityProcessor implements Processor { ... }
同じインターフェイスを実装するいくつかの代替Beanが注釈されている場合は、優先度の高い値の代替を選択します@Priority
. このオプションを指定する必要はありませんbeans.xml
ファイルを使用するとき@Priority
注釈.例03:CDI注射
@Alternative
Bean (インタフェースによる注入, 2つの異なる実装)チュートリアルソースコードを見つけることができますhere 実行可能なクラスファイルが見つかるhere . The
Service
インタフェースには2つの異なる実装があります.DefaultService
and AlternativeService
(注釈付きの@Alternative
).The
MainController
注射するService
と活性化しないAlternativeService
, the DefaultService
として暗黙のうちに修飾される@Default
修飾子).我々がそれを確実にしたいならば
AlternativeService
注入されるMainController
, 内部で活性化beans.xml
(ソースコードが見つかります.here ). <alternatives>
<class>za.co.sindi.tuts.jakartaee.cdi.example03.AlternativeService</class>
</alternatives>
ランニングDefaultCDIMain
クラスでは、出力代替サービスの仕事が表示されます.将来のチュートリアルでは
@Stereotypes
また、CDIに工場方法を適用する方法.Reference
この問題について(ジャカルタEE 8 - C . D . I .を理解する(パート2)-あなたの豆を予選してください.), 我々は、より多くの情報をここで見つけました https://dev.to/theelitegentleman/understanding-jakarta-ee-8-c-d-i-part-2-qualifying-your-beans-cont-d-1pobテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol