パッケージ jakarta.inject
インターフェース Provider<T>
- すべての既知のサブインターフェース:
Instance<T>,SeContainer
- すべての既知の実装クラス:
CDI
public interface Provider<T>Tのインスタンスを提供します。通常、インジェクターによって実装されます。注入可能な任意の型Tの場合、Provider<T>も注入できます。Tを直接注入するのと比較して、Provider<T>を注入すると次のことが可能になります。- 複数のインスタンスを取得します。
- インスタンスの遅延またはオプションの取得。
- 循環依存関係を壊します。
- スコープを抽象化して、包含スコープ内のインスタンスからより小さなスコープ内のインスタンスを検索できるようにします。
例:
class Car { @Inject Car(Provider<Seat> seatProvider) { Seat driver = seatProvider.get(); Seat passenger = seatProvider.get(); ... } }
方法の概要
すべてのメソッド インスタンスメソッド 抽象メソッド 修飾子と型 メソッド 説明 Tget()Tの完全に構築および挿入されたインスタンスを提供します。
メソッドの詳細
get
T get()
Tの完全に構築および挿入されたインスタンスを提供します。- 戻り値:
Tのインスタンス。- 例外:
RuntimeExceptionSE- インスタンスの提供中にインジェクターでエラーが発生した場合。例:Tの注入可能なメンバーが例外をスローした場合、インジェクターは例外をラップし、それをget()の呼び出し元にスローできます。動作はインジェクターの実装や、同じインジェクターの異なる構成でさえ異なる可能性があるため、呼び出し元はこのような例外を処理しようとしないでください。