クラス AbstractDelegatingSmartContextLoader

java.lang.ObjectSE
org.springframework.test.context.support.AbstractDelegatingSmartContextLoader
実装されたすべてのインターフェース:
AotContextLoaderContextLoaderSmartContextLoader
既知の直属サブクラス
DelegatingSmartContextLoaderWebDelegatingSmartContextLoader

public abstract class AbstractDelegatingSmartContextLoader extends ObjectSE implements AotContextLoader
AbstractDelegatingSmartContextLoader は、一連の候補 SmartContextLoaders (つまり、XML 構成ファイルまたは Groovy スクリプトをサポートするもの、およびアノテーション付きクラスをサポートするもの) に委譲して、特定のテストクラスの構成に適したコンテキストローダーを決定する SmartContextLoader SPI の実装の抽象基本クラスとして機能します。各候補には、テストクラス階層内の各クラスと、@ContextConfiguration でアノテーションが付けられた包含クラス階層の ContextConfigurationAttributes を処理する機会が与えられ、マージされ処理された構成をサポートする候補が、実際にコンテキストをロードするために使用されます。

XML ベースのローダーへの参照は、XML 構成ファイルのみをサポートするコンテキストローダー、または XML 構成ファイルと Groovy スクリプトの両方を同時にサポートするコンテキストローダーを意味すると解釈できます。

テストクラスに空の @ContextConfiguration アノテーションを配置すると、デフォルトのリソースの場所 (XML 構成ファイルや Groovy スクリプトなど) またはデフォルトの構成クラスを検出する必要があることが通知されます。さらに、特定の ContextLoader または SmartContextLoader が @ContextConfiguration で明示的に宣言されていない場合は、AbstractDelegatingSmartContextLoader の具象サブクラスがデフォルトのローダーとして使用され、パスベースのリソースの場所 (XML 構成ファイルや Groovy スクリプトなど) またはアノテーション付きクラスのいずれかが自動的にサポートされますが、両方が同時にサポートされることはありません。

テストクラスは、必要に応じて、パスベースのリソースの場所もアノテーション付きクラスも宣言せず、代わりにアプリケーションコンテキストの初期化子のみを宣言する場合があります。このような場合でも、デフォルトを検出しようとしますが、それらがなくても例外にはなりません。

Spring Framework 6.0 の時点で、このクラスは AotContextLoader を実装しています。候補の getXmlLoader() および getAnnotationConfigLoader() は、AOT サポートを提供するために AotContextLoader も実装する必要があります。

導入:
3.2
作成者:
Sam Brannen, Phillip Webb
関連事項: