Class AnnotationConfigWebContextLoader
- All Implemented Interfaces:
- AotContextLoader,- ContextLoader,- SmartContextLoader
AbstractGenericWebContextLoader that loads
 bean definitions from annotated classes.
 See the Javadoc for
 @ContextConfiguration
 for a definition of annotated class.
 
Note: AnnotationConfigWebContextLoader supports annotated classes
 rather than the String-based resource locations defined by the legacy
 ContextLoader API. Thus,
 although AnnotationConfigWebContextLoader extends
 AbstractGenericWebContextLoader, AnnotationConfigWebContextLoader
 does not support any String-based methods defined by
 AbstractContextLoader or AbstractGenericWebContextLoader.
 Consequently, AnnotationConfigWebContextLoader should chiefly be
 considered a SmartContextLoader
 rather than a ContextLoader.
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptionprotected Class<?>[]detectDefaultConfigurationClasses(Class<?> declaringClass) Detect the default configuration classes for the supplied test class.protected String[]generateDefaultLocations(Class<?> clazz) AnnotationConfigWebContextLoadershould be used as aSmartContextLoader, not as a legacyContextLoader.protected StringAnnotationConfigWebContextLoadershould be used as aSmartContextLoader, not as a legacyContextLoader.protected voidloadBeanDefinitions(GenericWebApplicationContext context, WebMergedContextConfiguration webMergedConfig) Register classes in the supplied context from the classes in the suppliedWebMergedContextConfiguration.protected String[]modifyLocations(Class<?> clazz, String... locations) AnnotationConfigWebContextLoadershould be used as aSmartContextLoader, not as a legacyContextLoader.voidprocessContextConfiguration(ContextConfigurationAttributes configAttributes) Process annotated classes in the suppliedContextConfigurationAttributes.protected voidvalidateMergedContextConfiguration(WebMergedContextConfiguration webMergedConfig) Ensure that the suppliedWebMergedContextConfigurationdoes not containlocations.Methods inherited from class org.springframework.test.context.web.AbstractGenericWebContextLoaderconfigureWebResources, createContext, customizeBeanFactory, customizeContext, loadContext, loadContext, loadContextForAotProcessing, loadContextForAotRuntimeMethods inherited from class org.springframework.test.context.support.AbstractContextLoadercustomizeContext, getResourceSuffixes, isGenerateDefaultLocations, prepareContext, processLocationsMethods inherited from class java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.springframework.test.context.SmartContextLoaderprocessLocations
- 
Constructor Details- 
AnnotationConfigWebContextLoaderpublic AnnotationConfigWebContextLoader()
 
- 
- 
Method Details- 
processContextConfigurationProcess annotated classes in the suppliedContextConfigurationAttributes.If the annotated classes are nullor empty andAbstractContextLoader.isGenerateDefaultLocations()returnstrue, thisSmartContextLoaderwill attempt to detect default configuration classes. If defaults are detected they will be set in the supplied configuration attributes. Otherwise, properties in the supplied configuration attributes will not be modified.- Specified by:
- processContextConfigurationin interface- SmartContextLoader
- Overrides:
- processContextConfigurationin class- AbstractContextLoader
- Parameters:
- configAttributes- the context configuration attributes to process
- See Also:
 
- 
detectDefaultConfigurationClassesDetect the default configuration classes for the supplied test class.The default implementation simply delegates to AnnotationConfigContextLoaderUtils.detectDefaultConfigurationClasses(Class).- Parameters:
- declaringClass- the test class that declared- @ContextConfiguration
- Returns:
- an array of default configuration classes, potentially empty but never null
- See Also:
 
- 
modifyLocationsAnnotationConfigWebContextLoadershould be used as aSmartContextLoader, not as a legacyContextLoader. Consequently, this method is not supported.- Overrides:
- modifyLocationsin class- AbstractContextLoader
- Parameters:
- clazz- the class with which the locations are associated
- locations- the resource locations to be modified
- Returns:
- an array of modified application context resource locations
- Throws:
- UnsupportedOperationException- in this implementation
- See Also:
 
- 
generateDefaultLocationsAnnotationConfigWebContextLoadershould be used as aSmartContextLoader, not as a legacyContextLoader. Consequently, this method is not supported.- Overrides:
- generateDefaultLocationsin class- AbstractContextLoader
- Parameters:
- clazz- the class for which the default locations are to be generated
- Returns:
- an array of default application context resource locations
- Throws:
- UnsupportedOperationException- in this implementation
- See Also:
 
- 
getResourceSuffixAnnotationConfigWebContextLoadershould be used as aSmartContextLoader, not as a legacyContextLoader. Consequently, this method is not supported.- Specified by:
- getResourceSuffixin class- AbstractContextLoader
- Returns:
- the resource suffix; never nullor empty
- Throws:
- UnsupportedOperationException- in this implementation
- See Also:
 
- 
loadBeanDefinitionsprotected void loadBeanDefinitions(GenericWebApplicationContext context, WebMergedContextConfiguration webMergedConfig) Register classes in the supplied context from the classes in the suppliedWebMergedContextConfiguration.Each class must represent an annotated class. An AnnotatedBeanDefinitionReaderis used to register the appropriate bean definitions.- Specified by:
- loadBeanDefinitionsin class- AbstractGenericWebContextLoader
- Parameters:
- context- the context in which the annotated classes should be registered
- webMergedConfig- the merged configuration from which the classes should be retrieved
- See Also:
 
- 
validateMergedContextConfigurationEnsure that the suppliedWebMergedContextConfigurationdoes not containlocations.- Overrides:
- validateMergedContextConfigurationin class- AbstractGenericWebContextLoader
- Parameters:
- webMergedConfig- the merged configuration to validate
- Since:
- 4.0.4
- See Also:
 
 
-