インターフェース ContextLoader
- すべての既知のサブインターフェース:
AotContextLoader, SmartContextLoader
- すべての既知の実装クラス:
AbstractContextLoader, AbstractDelegatingSmartContextLoader, AbstractGenericContextLoader, AbstractGenericWebContextLoader, AnnotationConfigContextLoader, AnnotationConfigWebContextLoader, DelegatingSmartContextLoader, GenericGroovyXmlContextLoader, GenericGroovyXmlWebContextLoader, GenericXmlContextLoader, GenericXmlWebContextLoader, WebDelegatingSmartContextLoader
ApplicationContext をロードするための戦略インターフェース。 注意 : ContextLoader はマーカーインターフェースであり、直接実装しないでください。アノテーション付きクラス、アクティブな Bean 定義プロファイル、アプリケーションコンテキスト初期化子、ContextLoader SPI で定義されたメソッドではサポートされていないその他のさまざまな機能をサポートするには、このインターフェースの代わりに SmartContextLoader を実装してください。
ContextLoader のクライアントは、loadContext() を呼び出す前に processLocations() を呼び出す必要があります。これは、ContextLoader が場所を変更または生成するためのカスタムサポートを提供する場合に備えています。次に、processLocations() の結果を loadContext() に提供する必要があります。
具体的な実装では、public の引数なしのコンストラクターを提供する必要があります。
- 導入:
- 2.5
- 作成者:
- Sam Brannen, Juergen Hoeller
- 関連事項:
メソッドのサマリー
修飾子と型メソッド説明loadContext(StringSE... locations) 使用すべきではありません。StringSE[]processLocations(ClassSE<?> clazz, StringSE... locations) 使用すべきではありません。Spring Framework 6.0 の時点で、SmartContextLoaderSPI で定義されたメソッドを優先
メソッドの詳細
processLocations
使用すべきではありません。Spring Framework 6.0 の時点で、SmartContextLoaderSPI で定義されたメソッドを優先指定されたクラスのアプリケーションコンテキストリソースの場所を処理します。具体的な実装では、指定された場所を変更したり、新しい場所を生成したり、指定された場所を変更せずに返したりすることができます。
- パラメーター:
clazz- ロケーションが関連付けられているクラス: 指定されたロケーションの処理方法を決定するために使用されますlocations- アプリケーションコンテキストのロードに使用する未変更の場所 (nullまたは空にすることができます)- 戻り値:
- アプリケーションコンテキストリソースの場所の配列
loadContext
使用すべきではありません。Spring Framework 6.0 の時点で、SmartContextLoaderSPI で定義されたメソッドを優先提供されたlocationsに基づいて新しいApplicationContextをロードし、コンテキストを構成して、最後に完全にリフレッシュされた状態でコンテキストを返します。構成場所は通常、デフォルトではクラスパスリソースと見なされます。
具体的な実装では、この
ContextLoaderによってロードされるアプリケーションコンテキストの Bean ファクトリにアノテーション設定プロセッサーを登録する必要があります。これにより、Bean は自動的に@Autowired、@Resource、@Injectを使用したアノテーションベースの依存性注入の候補となります。ContextLoaderによってロードされたすべてのApplicationContextは、それ自体の JVM シャットダウンフックを登録する必要があります。コンテキストが早期に閉じられない限り、すべてのコンテキストインスタンスは JVM シャットダウン時に自動的に閉じられます。これにより、コンテキスト内の Bean によって保持されている外部リソース (一時ファイルなど) を解放できます。- パラメーター:
locations- アプリケーションコンテキストをロードするために使用するリソースの場所- 戻り値:
- 新しいアプリケーションコンテキスト
- 例外:
ExceptionSE- コンテキストの読み込みに失敗した場合
SmartContextLoaderSPI で定義されたメソッドを優先