インターフェース ContextLoader
- すべての既知のサブインターフェース:
AotContextLoader,SmartContextLoader
- すべての既知の実装クラス:
AbstractContextLoader、AbstractDelegatingSmartContextLoader、AbstractGenericContextLoader、AbstractGenericWebContextLoader、AnnotationConfigContextLoader、AnnotationConfigWebContextLoader、DelegatingSmartContextLoader、GenericGroovyXmlContextLoader、GenericGroovyXmlWebContextLoader、GenericXmlContextLoader、GenericXmlWebContextLoader、WebDelegatingSmartContextLoader
ApplicationContext をロードするための戦略インターフェース。 注意 : Spring Framework 6.0 の時点で、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、@ResourceEE、@InjectEE を使用したアノテーションベースの依存性注入の候補になります。ContextLoaderによってロードされたすべてのApplicationContextは、それ自体の JVM シャットダウンフックを登録する必要があります。コンテキストが早期に閉じられない限り、すべてのコンテキストインスタンスは JVM シャットダウン時に自動的に閉じられます。これにより、コンテキスト内の Bean によって保持されている外部リソース (一時ファイルなど) を解放できます。- パラメーター:
locations- アプリケーションコンテキストをロードするために使用するリソースの場所- 戻り値:
- 新しいアプリケーションコンテキスト
- 例外:
ExceptionSE- コンテキストの読み込みに失敗した場合
SmartContextLoaderSPI で定義されたメソッドを優先