クラス AbstractGenericContextLoader
- 実装されたすべてのインターフェース:
AotContextLoader
、ContextLoader
、SmartContextLoader
- 既知の直属サブクラス
AnnotationConfigContextLoader
,GenericXmlContextLoader
GenericApplicationContext
をロードする AbstractContextLoader
の抽象、汎用拡張。- 具象サブクラスのインスタンスが
ContextLoader
SPI を介して呼び出される場合、コンテキストはloadContext(String...)
に提供された場所からロードされます。 - 具象サブクラスのインスタンスが
SmartContextLoader
SPI を介して呼び出される場合、コンテキストは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 void
customizeBeanFactory
(DefaultListableBeanFactory beanFactory) このContextLoader
によって作成された ApplicationContext の内部 Bean ファクトリをカスタマイズします。protected void
Bean 定義がコンテキストにロードされた後でコンテキストがリフレッシュされる前に、このContextLoader
によって作成されたGenericApplicationContext
をカスタマイズします。protected void
loadBeanDefinitions
(GenericApplicationContext context, MergedContextConfiguration mergedConfig) 提供されたMergedContextConfiguration
の場所またはクラスから、提供されたcontext
に Bean 定義をロードします。loadContext
(StringSE... locations) 使用すべきではありません。final ApplicationContext
loadContext
(MergedContextConfiguration mergedConfig) 提供されたMergedContextConfiguration
のGenericApplicationContext
をロードします。loadContextForAotProcessing
(MergedContextConfiguration mergedConfig) 非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。Spring Framework 6.2.4 時点ではloadContextForAotProcessing(MergedContextConfiguration, RuntimeHints)
に置き換えられ、Spring Framework 8.0 で削除される予定loadContextForAotProcessing
(MergedContextConfiguration mergedConfig, RuntimeHints runtimeHints) 提供されたMergedContextConfiguration
に基づいて、AOT ビルド時の処理のためにGenericApplicationContext
をロードします。loadContextForAotRuntime
(MergedContextConfiguration mergedConfig, ApplicationContextInitializer<ConfigurableApplicationContext> initializer) 提供されたMergedContextConfiguration
およびApplicationContextInitializer
に基づいて、AOT ランタイム実行用にGenericApplicationContext
をロードします。protected void
prepareContext
(GenericApplicationContext context) このContextLoader
によって作成されたGenericApplicationContext
を準備します。protected void
validateMergedContextConfiguration
(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
が取得され、このメソッドによって作成されたコンテキストの親として設定されます。 ContextLoader
SPI との下位互換性のために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
@DeprecatedSE(since="6.2.4", forRemoval=true) public final GenericApplicationContext loadContextForAotProcessing(MergedContextConfiguration mergedConfig) throws ExceptionSE 非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。Spring Framework 6.2.4 時点ではloadContextForAotProcessing(MergedContextConfiguration, RuntimeHints)
に置き換えられ、Spring Framework 8.0 で削除される予定提供されたMergedContextConfiguration
に基づいて、AOT ビルド時の処理のためにGenericApplicationContext
をロードします。loadContext(MergedContextConfiguration)
とは対照的に、このメソッドはApplicationContext
をリフレッシュしたり、JVM シャットダウンフックを登録したりしません。それ以外の場合、このメソッドはloadContext(MergedContextConfiguration)
と同じ動作を実装します。- 次で指定:
- インターフェース
AotContextLoader
のloadContextForAotProcessing
- パラメーター:
mergedConfig
- アプリケーションコンテキストをロードするために使用するマージされたコンテキスト構成- 戻り値:
- 新しいアプリケーションコンテキスト
- 例外:
ExceptionSE
- コンテキストの読み込みに失敗した場合- 導入:
- 6.0
- 関連事項:
loadContextForAotProcessing
public final GenericApplicationContext loadContextForAotProcessing(MergedContextConfiguration mergedConfig, RuntimeHints runtimeHints) throws ExceptionSE 提供されたMergedContextConfiguration
に基づいて、AOT ビルド時の処理のためにGenericApplicationContext
をロードします。loadContext(MergedContextConfiguration)
とは対照的に、このメソッドはApplicationContext
をリフレッシュしたり、JVM シャットダウンフックを登録したりしません。それ以外の場合、このメソッドはloadContext(MergedContextConfiguration)
と同じ動作を実装します。- 次で指定:
- インターフェース
AotContextLoader
のloadContextForAotProcessing
- パラメーター:
mergedConfig
- アプリケーションコンテキストをロードするために使用するマージされたコンテキスト構成runtimeHints
- 実行時のヒント- 戻り値:
- 新しいアプリケーションコンテキスト
- 例外:
ExceptionSE
- コンテキストの読み込みに失敗した場合- 導入:
- 6.2.4
- 関連事項:
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)
を推奨