org.springframework.web.context.support
Class AnnotationConfigWebApplicationContext
java.lang.Object
  
org.springframework.core.io.DefaultResourceLoader
      
org.springframework.context.support.AbstractApplicationContext
          
org.springframework.context.support.AbstractRefreshableApplicationContext
              
org.springframework.context.support.AbstractRefreshableConfigApplicationContext
                  
org.springframework.web.context.support.AbstractRefreshableWebApplicationContext
                      
org.springframework.web.context.support.AnnotationConfigWebApplicationContext
- All Implemented Interfaces: 
 - BeanFactory, BeanNameAware, DisposableBean, HierarchicalBeanFactory, InitializingBean, ListableBeanFactory, ApplicationContext, ApplicationEventPublisher, ConfigurableApplicationContext, Lifecycle, MessageSource, ResourceLoader, ResourcePatternResolver, ThemeSource, ConfigurableWebApplicationContext, WebApplicationContext
 
public class AnnotationConfigWebApplicationContext
- extends AbstractRefreshableWebApplicationContext
 
WebApplicationContext implementation
 which accepts annotated classes as input - in particular
 @Configuration-annotated
 classes, but also plain @Components
 and JSR-330 compliant classes using javax.inject annotations. Allows for
 registering classes one by one (specifying class names as config location) as well
 as for classpath scanning (specifying base packages as config location).
 
This is essentially the equivalent of
 AnnotationConfigApplicationContext
 for a web environment.
 
To make use of this application context, the "contextClass" context-param for
 ContextLoader and/or "contextClass" init-param for FrameworkServlet must be set to
 the fully-qualified name of this class.
 
Unlike XmlWebApplicationContext, no default configuration class locations
 are assumed. Rather, it is a requirement to set the "contextConfigLocation"
 context-param for ContextLoader and/or "contextConfigLocation" init-param for
 FrameworkServlet.
 
Note: In case of multiple @Configuration classes, later @Bean
 definitions will override ones defined in earlier loaded files. This can be leveraged
 to deliberately override certain bean definitions via an extra Configuration class.
- Since:
 
  - 3.0
 
- Author:
 
  - Chris Beams, Juergen Hoeller
 
- See Also:
 AnnotationConfigApplicationContext
 
 
 
 
 
 
 
 
 
 
| Methods inherited from class org.springframework.web.context.support.AbstractRefreshableWebApplicationContext | 
getConfigLocations, getNamespace, getResourceByPath, getResourcePatternResolver, getServletConfig, getServletContext, getTheme, onRefresh, postProcessBeanFactory, setNamespace, setServletConfig, setServletContext | 
 
 
 
| Methods inherited from class org.springframework.context.support.AbstractApplicationContext | 
addApplicationListener, addBeanFactoryPostProcessor, addListener, close, containsBean, containsBeanDefinition, containsLocalBean, destroy, destroyBeans, doClose, findAnnotationOnBean, finishBeanFactoryInitialization, finishRefresh, getAliases, getApplicationListeners, getAutowireCapableBeanFactory, getBean, getBean, getBean, getBean, getBeanDefinitionCount, getBeanDefinitionNames, getBeanFactoryPostProcessors, getBeanNamesForType, getBeanNamesForType, getBeansOfType, getBeansOfType, getBeansWithAnnotation, getDisplayName, getId, getInternalParentBeanFactory, getInternalParentMessageSource, getMessage, getMessage, getMessage, getParent, getParentBeanFactory, getResources, getStartupDate, getType, initApplicationEventMulticaster, initLifecycleProcessor, initMessageSource, invokeBeanFactoryPostProcessors, isActive, isPrototype, isRunning, isSingleton, isTypeMatch, obtainFreshBeanFactory, onClose, prepareBeanFactory, prepareRefresh, publishEvent, refresh, registerBeanPostProcessors, registerListeners, registerShutdownHook, setDisplayName, setParent, start, stop, toString | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
AnnotationConfigWebApplicationContext
public AnnotationConfigWebApplicationContext()
loadBeanDefinitions
protected void loadBeanDefinitions(DefaultListableBeanFactory beanFactory)
- Register a 
BeanDefinition for each class specified by AbstractRefreshableWebApplicationContext.getConfigLocations(),
 or scan each specified package for annotated classes. Enables the default set of
 annotation configuration post processors, such that @Autowired,
 @Required, and associated annotations can be used.
 Configuration class bean definitions are registered with generated bean definition
 names unless the value attribute is provided to the stereotype annotation.
- Specified by:
 loadBeanDefinitions in class AbstractRefreshableApplicationContext
 
- Parameters:
 beanFactory - the bean factory to load bean definitions into- See Also:
 AbstractRefreshableWebApplicationContext.getConfigLocations(), 
AnnotatedBeanDefinitionReader, 
ClassPathBeanDefinitionScanner
 
 
getBeanNameGenerator
protected BeanNameGenerator getBeanNameGenerator()
- Provide a custom 
BeanNameGenerator for use with AnnotatedBeanDefinitionReader
 and/or ClassPathBeanDefinitionScanner, if any.
 Default is AnnotationBeanNameGenerator.
- See Also:
 AnnotatedBeanDefinitionReader.setBeanNameGenerator(org.springframework.beans.factory.support.BeanNameGenerator), 
ClassPathBeanDefinitionScanner.setBeanNameGenerator(org.springframework.beans.factory.support.BeanNameGenerator)
 
 
getScopeMetadataResolver
protected ScopeMetadataResolver getScopeMetadataResolver()
- Provide a custom 
ScopeMetadataResolver for use with AnnotatedBeanDefinitionReader
 and/or ClassPathBeanDefinitionScanner, if any.
 Default is AnnotationScopeMetadataResolver.
- See Also:
 AnnotatedBeanDefinitionReader.setScopeMetadataResolver(org.springframework.context.annotation.ScopeMetadataResolver), 
ClassPathBeanDefinitionScanner.setScopeMetadataResolver(org.springframework.context.annotation.ScopeMetadataResolver)