Interface SmartContextLoader
- All Superinterfaces:
- ContextLoader
- All Known Implementing Classes:
- AbstractContextLoader,- AbstractDelegatingSmartContextLoader,- AbstractGenericContextLoader,- AbstractGenericWebContextLoader,- AnnotationConfigContextLoader,- AnnotationConfigWebContextLoader,- DelegatingSmartContextLoader,- GenericGroovyXmlContextLoader,- GenericGroovyXmlWebContextLoader,- GenericPropertiesContextLoader,- GenericXmlContextLoader,- GenericXmlWebContextLoader,- WebDelegatingSmartContextLoader
application context
 for an integration test managed by the Spring TestContext Framework.
 The SmartContextLoader SPI supersedes the ContextLoader SPI
 introduced in Spring 2.5: a SmartContextLoader can choose to process
 either resource locations or annotated classes. Furthermore, a
 SmartContextLoader can set active bean definition profiles in the
 context that it loads (see MergedContextConfiguration.getActiveProfiles()
 and loadContext(MergedContextConfiguration)).
 
See the Javadoc for @ContextConfiguration
 for a definition of annotated class.
 
Clients of a SmartContextLoader should call
 processContextConfiguration() prior to calling
 loadContext(). This gives a
 SmartContextLoader the opportunity to provide custom support for
 modifying resource locations or detecting default resource locations or
 default configuration classes. The results of
 processContextConfiguration() should be merged for all classes in the
 hierarchy of the root test class and then supplied to
 loadContext().
 
Even though SmartContextLoader extends ContextLoader,
 clients should favor SmartContextLoader-specific methods over those
 defined in ContextLoader, particularly because a
 SmartContextLoader may choose not to support methods defined in the
 ContextLoader SPI.
 
Concrete implementations must provide a public no-args constructor.
 
Spring provides the following out-of-the-box implementations:
- Since:
- 3.1
- Author:
- Sam Brannen
- See Also:
- 
Method SummaryModifier and TypeMethodDescriptionloadContext(MergedContextConfiguration mergedConfig) Loads a newcontextbased on the suppliedmerged context configuration, configures the context, and finally returns the context in a fully refreshed state.voidprocessContextConfiguration(ContextConfigurationAttributes configAttributes) Processes theContextConfigurationAttributesfor a given test class.Methods inherited from interface org.springframework.test.context.ContextLoaderloadContext, processLocations
- 
Method Details- 
processContextConfigurationProcesses theContextConfigurationAttributesfor a given test class.Concrete implementations may choose to modify the locationsorclassesin the suppliedContextConfigurationAttributes, generate default configuration locations, or detect default configuration classes if the supplied values arenullor empty.Note: in contrast to a standard ContextLoader, aSmartContextLoadermust preemptively verify that a generated or detected default actually exists before setting the correspondinglocationsorclassesproperty in the suppliedContextConfigurationAttributes. Consequently, leaving thelocationsorclassesproperty empty signals that thisSmartContextLoaderwas not able to generate or detect defaults.- Parameters:
- configAttributes- the context configuration attributes to process
 
- 
loadContextLoads a newcontextbased on the suppliedmerged context configuration, configures the context, and finally returns the context in a fully refreshed state.Concrete implementations should register annotation configuration processors with bean factories of application contextsloaded by thisSmartContextLoader. Beans will therefore automatically be candidates for annotation-based dependency injection using@Autowired,@Resource, and@Inject. In addition, concrete implementations should set the active bean definition profiles in the context'sEnvironment.Any ApplicationContextloaded by aSmartContextLoadermust register a JVM shutdown hook for itself. Unless the context gets closed early, all context instances will be automatically closed on JVM shutdown. This allows for freeing of external resources held by beans within the context (e.g., temporary files).- Parameters:
- mergedConfig- the merged context configuration to use to load the application context
- Returns:
- a new application context
- Throws:
- Exception- if context loading failed
- See Also:
 
 
-