インターフェース ContextLoader

すべての既知のサブインターフェース:
AotContextLoaderSmartContextLoader
すべての既知の実装クラス:
AbstractContextLoaderAbstractDelegatingSmartContextLoaderAbstractGenericContextLoaderAbstractGenericWebContextLoaderAnnotationConfigContextLoaderAnnotationConfigWebContextLoaderDelegatingSmartContextLoaderGenericGroovyXmlContextLoaderGenericGroovyXmlWebContextLoaderGenericXmlContextLoaderGenericXmlWebContextLoaderWebDelegatingSmartContextLoader

public interface ContextLoader
Spring TestContext フレームワークによって管理される統合テストのために 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)
    使用すべきではありません。
    Spring Framework 6.0 の時点で、SmartContextLoader SPI で定義されたメソッドを優先
    processLocations(ClassSE<?> clazz, StringSE... locations)
    使用すべきではありません。
    Spring Framework 6.0 の時点で、SmartContextLoader SPI で定義されたメソッドを優先
  • メソッドの詳細

    • processLocations

      @DeprecatedSE(since="6.0") StringSE[] processLocations(ClassSE<?> clazz, StringSE... locations)
      使用すべきではありません。
      Spring Framework 6.0 の時点で、SmartContextLoader SPI で定義されたメソッドを優先
      指定されたクラスのアプリケーションコンテキストリソースの場所を処理します。

      具体的な実装では、指定された場所を変更したり、新しい場所を生成したり、指定された場所を変更せずに返したりすることができます。

      パラメーター:
      clazz - ロケーションが関連付けられているクラス: 指定されたロケーションの処理方法を決定するために使用されます
      locations - アプリケーションコンテキストのロードに使用する未変更の場所 (null または空にすることができます)
      戻り値:
      アプリケーションコンテキストリソースの場所の配列
    • loadContext

      @DeprecatedSE(since="6.0") ApplicationContext loadContext(StringSE... locations) throws ExceptionSE
      使用すべきではありません。
      Spring Framework 6.0 の時点で、SmartContextLoader SPI で定義されたメソッドを優先
      提供された locations に基づいて新しい ApplicationContext をロードし、コンテキストを構成して、最後に完全にリフレッシュされた状態でコンテキストを返します。

      構成場所は通常、デフォルトではクラスパスリソースと見なされます。

      具体的な実装では、この ContextLoader によってロードされたアプリケーションコンテキストの Bean ファクトリにアノテーション構成プロセッサーを登録する必要があります。Bean は自動的に @Autowired@ResourceEE@InjectEE を使用したアノテーションベースの依存性注入の候補になります。

      ContextLoader によってロードされた ApplicationContext は、それ自体の JVM シャットダウンフックを登録する必要があります。コンテキストが早期に閉じられない限り、JVM のシャットダウン時にすべてのコンテキストインスタンスが自動的に閉じられます。これにより、コンテキスト内で Bean が保持する外部リソース (一時ファイルなど) を解放できます。

      パラメーター:
      locations - アプリケーションコンテキストをロードするために使用するリソースの場所
      戻り値:
      新しいアプリケーションコンテキスト
      例外:
      ExceptionSE - コンテキストの読み込みに失敗した場合