Interface AotContextLoader
- All Superinterfaces:
- ContextLoader,- SmartContextLoader
- All Known Implementing Classes:
- AbstractDelegatingSmartContextLoader,- AbstractGenericContextLoader,- AbstractGenericWebContextLoader,- AnnotationConfigContextLoader,- AnnotationConfigWebContextLoader,- DelegatingSmartContextLoader,- GenericGroovyXmlContextLoader,- GenericGroovyXmlWebContextLoader,- GenericXmlContextLoader,- GenericXmlWebContextLoader,- WebDelegatingSmartContextLoader
ApplicationContext for build-time
 AOT processing as well as run-time
 AOT execution for an integration test
 managed by the Spring TestContext Framework.
 AotContextLoader is an extension of the SmartContextLoader
 SPI that allows a context loader to optionally provide ahead-of-time (AOT)
 support.
 
As of Spring Framework 6.0, AOT infrastructure requires that an AotContextLoader
 create a GenericApplicationContext for both build-time processing and run-time execution.
- Since:
- 6.0
- Author:
- Sam Brannen
- 
Method SummaryModifier and TypeMethodDescriptionloadContextForAotProcessing(MergedContextConfiguration mergedConfig) Load a newApplicationContextfor AOT build-time processing based on the suppliedMergedContextConfiguration, configure the context, and return the context.loadContextForAotRuntime(MergedContextConfiguration mergedConfig, ApplicationContextInitializer<ConfigurableApplicationContext> initializer) Load a newApplicationContextfor AOT run-time execution based on the suppliedMergedContextConfigurationandApplicationContextInitializer.Methods inherited from interface org.springframework.test.context.SmartContextLoaderloadContext, loadContext, processContextConfiguration, processLocations
- 
Method Details- 
loadContextForAotProcessingApplicationContext loadContextForAotProcessing(MergedContextConfiguration mergedConfig) throws Exception Load a newApplicationContextfor AOT build-time processing based on the suppliedMergedContextConfiguration, configure the context, and return the context.In contrast to SmartContextLoader.loadContext(MergedContextConfiguration), this method must not refresh theApplicationContextor register a JVM shutdown hook for it. Otherwise, this method should implement behavior identical toloadContext(MergedContextConfiguration).Any exception thrown while attempting to load an ApplicationContextshould be wrapped in aContextLoadException. Concrete implementations should therefore contain a try-catch block similar to the following.GenericApplicationContext context = // create context try { // configure context } catch (Exception ex) { throw new ContextLoadException(context, ex); }- Parameters:
- mergedConfig- the merged context configuration to use to load the application context
- Returns:
- a new GenericApplicationContext
- Throws:
- ContextLoadException- if context loading failed
- Exception
- See Also:
 
- 
loadContextForAotRuntimeApplicationContext loadContextForAotRuntime(MergedContextConfiguration mergedConfig, ApplicationContextInitializer<ConfigurableApplicationContext> initializer) throws Exception Load a newApplicationContextfor AOT run-time execution based on the suppliedMergedContextConfigurationandApplicationContextInitializer.This method must instantiate, initialize, and refresh the ApplicationContext.Any exception thrown while attempting to load an ApplicationContextshould be wrapped in aContextLoadException. Concrete implementations should therefore contain a try-catch block similar to the following.GenericApplicationContext context = // create context try { // configure and refresh context } catch (Exception ex) { throw new ContextLoadException(context, ex); }- Parameters:
- mergedConfig- the merged context configuration to use to load the application context
- initializer- the- ApplicationContextInitializerthat should be applied to the context in order to recreate bean definitions
- Returns:
- a new GenericApplicationContext
- Throws:
- ContextLoadException- if context loading failed
- Exception
- See Also:
 
 
-