クラス AbstractGenericContextLoader
- 実装されているすべてのインターフェース:
AotContextLoader、ContextLoader、SmartContextLoader
- 既知の直属サブクラス
AnnotationConfigContextLoader,GenericXmlContextLoader
GenericApplicationContext をロードする AbstractContextLoader の抽象、汎用拡張。- 具象サブクラスのインスタンスが
ContextLoaderSPI を介して呼び出される場合、コンテキストはloadContext(String...)に提供された場所からロードされます。 - 具象サブクラスのインスタンスが
SmartContextLoaderSPI を介して呼び出される場合、コンテキストはloadContext(MergedContextConfiguration)に提供されたMergedContextConfigurationからロードされます。そのような場合、SmartContextLoaderは、場所またはアノテーション付きクラスからコンテキストをロードするかどうかを決定します。
具象サブクラスは createBeanDefinitionReader() の適切な実装を提供する必要があり、loadBeanDefinitions() もオーバーライドする可能性があります。
- 導入:
- 2.5
- 作成者:
- Sam Brannen, Juergen Hoeller, Phillip Webb
- 関連事項:
フィールドのサマリー
フィールドコンストラクターの概要
コンストラクターメソッドのサマリー
修飾子と型メソッド説明protected abstract BeanDefinitionReader提供されたcontextに Bean 定義をロードするための新しいBeanDefinitionReaderを作成するためのファクトリメソッド。protected GenericApplicationContextこのContextLoaderで使用されるGenericApplicationContextを作成するためのファクトリメソッド。protected voidcustomizeBeanFactory(DefaultListableBeanFactory beanFactory) このContextLoaderによって作成された ApplicationContext の内部 Bean ファクトリをカスタマイズします。protected voidBean 定義がコンテキストにロードされた後でコンテキストがリフレッシュされる前に、このContextLoaderによって作成されたGenericApplicationContextをカスタマイズします。protected voidloadBeanDefinitions(GenericApplicationContext context, MergedContextConfiguration mergedConfig) 提供されたMergedContextConfigurationの場所またはクラスから、提供されたcontextに Bean 定義をロードします。loadContext(StringSE... locations) 使用すべきではありません。final ApplicationContextloadContext(MergedContextConfiguration mergedConfig) 提供されたMergedContextConfigurationのGenericApplicationContextをロードします。loadContextForAotProcessing(MergedContextConfiguration mergedConfig) 提供されたMergedContextConfigurationに基づいて、AOT ビルド時の処理のためにGenericApplicationContextをロードします。loadContextForAotRuntime(MergedContextConfiguration mergedConfig, ApplicationContextInitializer<ConfigurableApplicationContext> initializer) 提供されたMergedContextConfigurationおよびApplicationContextInitializerに基づいて、AOT ランタイム実行用にGenericApplicationContextをロードします。protected voidprepareContext(GenericApplicationContext context) このContextLoaderによって作成されたGenericApplicationContextを準備します。protected voidvalidateMergedContextConfiguration(MergedContextConfiguration mergedConfig) このコンテキストローダーがサポートするものに関して、提供されたMergedContextConfigurationを検証します。クラス org.springframework.test.context.support.AbstractContextLoader から継承されたメソッド
customizeContext, generateDefaultLocations, getResourceSuffix, getResourceSuffixes, isGenerateDefaultLocations, modifyLocations, prepareContext, processContextConfiguration, processLocationsクラス java.lang.ObjectSE から継承されたメソッド
clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, toString, wait, waitSE, waitSEインターフェース org.springframework.test.context.SmartContextLoader から継承されたメソッド
processContextConfiguration, processLocations
フィールドの詳細
logger
コンストラクターの詳細
AbstractGenericContextLoader
public AbstractGenericContextLoader()
メソッドの詳細
loadContext
public final ApplicationContext loadContext(MergedContextConfiguration mergedConfig) throws ExceptionSE 提供されたMergedContextConfigurationのGenericApplicationContextをロードします。実装の詳細:
validateMergedContextConfiguration(MergedContextConfiguration)を呼び出して、サブクラスが続行する前に指定された構成を検証できるようにします。createContext()を呼び出して、GenericApplicationContextインスタンスを作成します。- 指定された
MergedContextConfigurationが親構成を参照する場合、対応するApplicationContextが取得され、このメソッドによって作成されたコンテキストの親として設定されます。 ContextLoaderSPI との下位互換性のためにprepareContext(GenericApplicationContext)を呼び出します。AbstractContextLoader.prepareContext(ConfigurableApplicationContext, MergedContextConfiguration)を呼び出して、Bean 定義がロードされる前にコンテキストをカスタマイズできるようにします。customizeBeanFactory(DefaultListableBeanFactory)を呼び出して、コンテキストのDefaultListableBeanFactoryをカスタマイズできるようにします。loadBeanDefinitions(GenericApplicationContext, MergedContextConfiguration)にデリゲートして、提供されたMergedContextConfiguration内の場所またはクラスからコンテキストを設定します。registeringアノテーション構成プロセッサーのAnnotationConfigUtilsへのデリゲート。customizeContext(GenericApplicationContext)を呼び出して、リフレッシュされる前にコンテキストをカスタマイズできるようにします。AbstractContextLoader.customizeContext(ConfigurableApplicationContext, MergedContextConfiguration)を呼び出して、リフレッシュされる前にコンテキストをカスタマイズできるようにします。Refreshesコンテキストとそのための JVM シャットダウンフックを登録します。
- 次で指定:
- インターフェース
SmartContextLoaderのloadContext - パラメーター:
mergedConfig- アプリケーションコンテキストをロードするために使用するマージされたコンテキスト構成- 戻り値:
- 新しいアプリケーションコンテキスト
- 例外:
ContextLoadException- コンテキストの読み込みに失敗した場合ExceptionSE- 関連事項:
loadContextForAotProcessing
public final GenericApplicationContext loadContextForAotProcessing(MergedContextConfiguration mergedConfig) throws ExceptionSE 提供されたMergedContextConfigurationに基づいて、AOT ビルド時の処理のためにGenericApplicationContextをロードします。loadContext(MergedContextConfiguration)とは対照的に、このメソッドはApplicationContextをリフレッシュしたり、JVM シャットダウンフックを登録したりしません。それ以外の場合、このメソッドはloadContext(MergedContextConfiguration)と同じ動作を実装します。- 次で指定:
- インターフェース
AotContextLoaderのloadContextForAotProcessing - パラメーター:
mergedConfig- アプリケーションコンテキストをロードするために使用するマージされたコンテキスト構成- 戻り値:
- 新しいアプリケーションコンテキスト
- 例外:
ExceptionSE- コンテキストの読み込みに失敗した場合- 導入:
- 6.0
- 関連事項:
loadContextForAotRuntime
public final GenericApplicationContext loadContextForAotRuntime(MergedContextConfiguration mergedConfig, ApplicationContextInitializer<ConfigurableApplicationContext> initializer) throws ExceptionSE 提供されたMergedContextConfigurationおよびApplicationContextInitializerに基づいて、AOT ランタイム実行用にGenericApplicationContextをロードします。- 次で指定:
- インターフェース
AotContextLoaderのloadContextForAotRuntime - パラメーター:
mergedConfig- アプリケーションコンテキストをロードするために使用するマージされたコンテキスト構成initializer- Bean 定義を再作成するためにコンテキストに適用する必要があるApplicationContextInitializer- 戻り値:
- 新しいアプリケーションコンテキスト
- 例外:
ExceptionSE- コンテキストの読み込みに失敗した場合- 導入:
- 6.0
- 関連事項:
validateMergedContextConfiguration
このコンテキストローダーがサポートするものに関して、提供されたMergedContextConfigurationを検証します。デフォルトの実装はノーオペレーションですが、必要に応じてサブクラスによってオーバーライドできます。
- パラメーター:
mergedConfig- 検証するマージされた構成- 例外:
IllegalStateExceptionSE- 指定された構成がこのコンテキストローダーに対して有効でない場合- 導入:
- 4.0.4
loadContext
@DeprecatedSE(since="6.0") public final ConfigurableApplicationContext loadContext(StringSE... locations) throws ExceptionSE 使用すべきではありません。Spring Framework 6.0 現在、loadContext(MergedContextConfiguration)を推奨提供されているlocationsから Spring ApplicationContext をロードします。実装の詳細:
createContext()を呼び出して、GenericApplicationContextインスタンスを作成します。prepareContext(GenericApplicationContext)を呼び出して、Bean 定義がロードされる前にコンテキストをカスタマイズできるようにします。customizeBeanFactory(DefaultListableBeanFactory)を呼び出して、コンテキストのDefaultListableBeanFactoryをカスタマイズできるようにします。createBeanDefinitionReader(GenericApplicationContext)にデリゲートしてBeanDefinitionReaderを作成し、それを使用して、指定された場所からコンテキストを設定します。registeringアノテーション構成プロセッサーのAnnotationConfigUtilsへのデリゲート。customizeContext(GenericApplicationContext)を呼び出して、リフレッシュされる前にコンテキストをカスタマイズできるようにします。Refreshesコンテキストとそのための JVM シャットダウンフックを登録します。
注意 : このメソッドは、ロードされたコンテキストに対してアクティブな Bean 定義プロファイルを設定する手段を提供しません。代替方法については、
loadContext(MergedContextConfiguration)およびAbstractContextLoader.prepareContext(ConfigurableApplicationContext, MergedContextConfiguration)を参照してください。- 次で指定:
- インターフェース
ContextLoaderのloadContext - 次で指定:
- インターフェース
SmartContextLoaderのloadContext - パラメーター:
locations- アプリケーションコンテキストをロードするために使用するリソースの場所- 戻り値:
- 新しいアプリケーションコンテキスト
- 例外:
ExceptionSE- コンテキストの読み込みに失敗した場合- 導入:
- 2.5
- 関連事項:
createContext
このContextLoaderで使用されるGenericApplicationContextを作成するためのファクトリメソッド。デフォルトの実装では、デフォルトのコンストラクターを使用して
GenericApplicationContextを作成します。このメソッドはオーバーライドされる可能性があります。— たとえば、カスタムコンテキストサブクラスを使用したり、カスタムDefaultListableBeanFactory実装でGenericApplicationContextを作成したりします。- 戻り値:
- 新しくインスタンス化された
GenericApplicationContext - 導入:
- 5.2.9
prepareContext
このContextLoaderによって作成されたGenericApplicationContextを準備します。Bean 定義が読み取られる前に呼び出されます。デフォルトの実装は空です。
GenericApplicationContextの標準設定をカスタマイズするためにサブクラスでオーバーライドできます。- パラメーター:
context- 準備すべきコンテキスト- 導入:
- 2.5
- 関連事項:
loadContext(MergedContextConfiguration)GenericApplicationContext.setAllowBeanDefinitionOverriding(boolean)GenericApplicationContext.setResourceLoader(org.springframework.core.io.ResourceLoader)AbstractApplicationContext.setId(java.lang.String)AbstractContextLoader.prepareContext(ConfigurableApplicationContext, MergedContextConfiguration)
customizeBeanFactory
このContextLoaderによって作成された ApplicationContext の内部 Bean ファクトリをカスタマイズします。デフォルトの実装は空ですが、サブクラスでオーバーライドして、
DefaultListableBeanFactoryの標準設定をカスタマイズできます。- パラメーター:
beanFactory- このContextLoaderによって作成された Bean ファクトリ- 導入:
- 2.5
- 関連事項:
loadContext(MergedContextConfiguration)DefaultListableBeanFactory.setAllowBeanDefinitionOverriding(boolean)DefaultListableBeanFactory.setAllowEagerClassLoading(boolean)AbstractAutowireCapableBeanFactory.setAllowCircularReferences(boolean)AbstractAutowireCapableBeanFactory.setAllowRawInjectionDespiteWrapping(boolean)
loadBeanDefinitions
protected void loadBeanDefinitions(GenericApplicationContext context, MergedContextConfiguration mergedConfig) 提供されたMergedContextConfigurationの場所またはクラスから、提供されたcontextに Bean 定義をロードします。デフォルトの実装は、
createBeanDefinitionReader(GenericApplicationContext)から返されたBeanDefinitionReaderを Bean 定義のloadに委譲します。サブクラスは
createBeanDefinitionReader(GenericApplicationContext)の適切な実装を提供する必要があります。あるいは、サブクラスはcreateBeanDefinitionReader()の no-op 実装を提供し、このメソッドをオーバーライドして、Bean 定義をロードまたは登録するためのカスタム戦略を提供できます。- パラメーター:
context- Bean 定義をロードする必要があるコンテキストmergedConfig- マージされたコンテキスト構成- 導入:
- 3.1
- 関連事項:
createBeanDefinitionReader
protected abstract BeanDefinitionReader createBeanDefinitionReader(GenericApplicationContext context) 提供されたcontextに Bean 定義をロードするための新しいBeanDefinitionReaderを作成するためのファクトリメソッド。- パラメーター:
context-BeanDefinitionReaderを作成する必要があるコンテキスト- 戻り値:
- 指定されたコンテキストの
BeanDefinitionReader - 導入:
- 2.5
- 関連事項:
customizeContext
Bean 定義がコンテキストにロードされた後でコンテキストがリフレッシュされる前に、このContextLoaderによって作成されたGenericApplicationContextをカスタマイズします。デフォルトの実装は空ですが、サブクラスでオーバーライドして、アプリケーションコンテキストをカスタマイズできます。
- パラメーター:
context- 新しく作成されたアプリケーションコンテキスト- 導入:
- 2.5
- 関連事項:
loadContext(MergedContextConfiguration)を推奨