@TargetSE(valueSE={METHODSE,TYPESE,FIELDSE}) @RetentionSE(valueSE=RUNTIMESE) @DocumentedSE @Scope @InheritedSE public @interface Dependent
Bean が従属疑似スコープに属することを指定します。
スコープ @Dependent
で宣言された Bean は、他の組み込みスコープ型の Bean とは異なる動作をします。Bean がスコープ @Dependent
を持つように宣言されている場合:
@Dependent
スコープのコンテキストオブジェクトの Context.get(Contextual, CreationalContext)
操作を呼び出すたびに、指定された Bean の新しいインスタンスが返されます。
@Dependent
スコープのコンテキストオブジェクトの Context.get(Contextual)
操作を呼び出すたびに、NULL 値が返されます。
@Dependent
スコープは常にアクティブです。
スコープ @Dependent
を持つ Bean の多くのインスタンスは、他の Bean または Java EE コンポーネントクラスインスタンスに属し、依存オブジェクトと呼ばれます。
@Dependent
がフィールドに注入された Bean のインスタンス、Bean コンストラクターまたは初期化子メソッドは、それが注入された Bean または Java EE コンポーネントクラスインスタンスの従属オブジェクトです。@Dependent
がプロデューサーメソッドに注入された Bean のインスタンスは、プロデューサーメソッド Bean インスタンスの依存オブジェクトです。Instance
の直接呼び出しによって取得されたスコープ @Dependent
を持つ Bean のインスタンスは、Instance
のインスタンスの従属オブジェクトです。 コンテナーが Bean またはインジェクションをサポートする Java EE コンポーネントクラスのインスタンスを破棄すると、@PreDestroy
コールバックが完了した後、サーブレット destroy()
メソッドが呼び出された後、コンテナーはすべての依存オブジェクトを破棄します。
Copyright © 2018,2020 Eclipse Foundation.
Use is subject to license terms.