パッケージ 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(); ... } }
メソッドのサマリー
すべてのメソッド インスタンスメソッド 抽象メソッド 修飾子と型 メソッド 説明 T
get()
T
の完全に構築および挿入されたインスタンスを提供します。
メソッドの詳細
get
T get()
T
の完全に構築および挿入されたインスタンスを提供します。- 戻り値:
T
のインスタンス。- 例外:
RuntimeExceptionSE
- インスタンスの提供中にインジェクターでエラーが発生した場合。例:T
の注入可能なメンバーが例外をスローした場合、インジェクターは例外をラップし、それをget()
の呼び出し元にスローできます。動作はインジェクターの実装や、同じインジェクターの異なる構成でさえ異なる可能性があるため、呼び出し元はこのような例外を処理しようとしないでください。