Class AnnotationConfigReactiveWebServerApplicationContext
- All Implemented Interfaces:
- Closeable,- AutoCloseable,- BeanFactory,- HierarchicalBeanFactory,- ListableBeanFactory,- BeanDefinitionRegistry,- ConfigurableWebServerApplicationContext,- WebServerApplicationContext,- ConfigurableReactiveWebApplicationContext,- ReactiveWebApplicationContext,- AnnotationConfigRegistry,- ApplicationContext,- ApplicationEventPublisher,- ConfigurableApplicationContext,- Lifecycle,- MessageSource,- AliasRegistry,- EnvironmentCapable,- ResourceLoader,- ResourcePatternResolver
ReactiveWebServerApplicationContext that accepts annotated classes as input -
 in particular
 @Configuration-annotated
 classes, but also plain @Component classes 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).
 
 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 through an extra Configuration class.
- Since:
- 2.0.0
- Author:
- Phillip Webb
- See Also:
- 
Nested Class SummaryNested classes/interfaces inherited from class org.springframework.core.io.DefaultResourceLoaderDefaultResourceLoader.ClassPathContextResource
- 
Field SummaryFields inherited from class org.springframework.context.support.AbstractApplicationContextAPPLICATION_EVENT_MULTICASTER_BEAN_NAME, LIFECYCLE_PROCESSOR_BEAN_NAME, logger, MESSAGE_SOURCE_BEAN_NAMEFields inherited from interface org.springframework.beans.factory.BeanFactoryFACTORY_BEAN_PREFIXFields inherited from interface org.springframework.context.ConfigurableApplicationContextAPPLICATION_STARTUP_BEAN_NAME, CONFIG_LOCATION_DELIMITERS, CONVERSION_SERVICE_BEAN_NAME, ENVIRONMENT_BEAN_NAME, LOAD_TIME_WEAVER_BEAN_NAME, SHUTDOWN_HOOK_THREAD_NAME, SYSTEM_ENVIRONMENT_BEAN_NAME, SYSTEM_PROPERTIES_BEAN_NAMEFields inherited from interface org.springframework.core.io.ResourceLoaderCLASSPATH_URL_PREFIXFields inherited from interface org.springframework.core.io.support.ResourcePatternResolverCLASSPATH_ALL_URL_PREFIX
- 
Constructor SummaryConstructorsConstructorDescriptionCreate a newAnnotationConfigReactiveWebServerApplicationContextthat needs to be populated throughregister(java.lang.Class<?>...)calls and then manually refreshed.AnnotationConfigReactiveWebServerApplicationContext(Class<?>... annotatedClasses) Create a newAnnotationConfigReactiveWebServerApplicationContext, deriving bean definitions from the given annotated classes and automatically refreshing the context.AnnotationConfigReactiveWebServerApplicationContext(String... basePackages) Create a newAnnotationConfigReactiveWebServerApplicationContext, scanning for bean definitions in the given packages and automatically refreshing the context.Create a newAnnotationConfigReactiveWebServerApplicationContextwith the givenDefaultListableBeanFactory.
- 
Method SummaryModifier and TypeMethodDescriptionprotected voidpostProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) protected voidfinal voidRegister one or more annotated classes to be processed.final voidPerform a scan within the specified base packages.voidsetBeanNameGenerator(BeanNameGenerator beanNameGenerator) Provide a customBeanNameGeneratorfor use withAnnotatedBeanDefinitionReaderand/orClassPathBeanDefinitionScanner, if any.voidsetEnvironment(ConfigurableEnvironment environment) voidsetScopeMetadataResolver(ScopeMetadataResolver scopeMetadataResolver) Set theScopeMetadataResolverto use for detected bean classes.Methods inherited from class org.springframework.boot.web.reactive.context.ReactiveWebServerApplicationContextdoClose, getHttpHandler, getServerNamespace, getWebServer, getWebServerFactory, getWebServerFactoryBeanName, onRefresh, refresh, setServerNamespaceMethods inherited from class org.springframework.boot.web.reactive.context.GenericReactiveWebApplicationContextcreateEnvironment, getResourceByPathMethods inherited from class org.springframework.context.support.GenericApplicationContextcancelRefresh, closeBeanFactory, getAutowireCapableBeanFactory, getBeanDefinition, getBeanFactory, getClassLoader, getDefaultListableBeanFactory, getResource, getResources, isAlias, isBeanNameInUse, refreshBeanFactory, refreshForAotProcessing, registerAlias, registerBean, registerBean, registerBean, registerBean, registerBean, registerBean, registerBeanDefinition, removeAlias, removeBeanDefinition, setAllowBeanDefinitionOverriding, setAllowCircularReferences, setApplicationStartup, setClassLoader, setParent, setResourceLoaderMethods inherited from class org.springframework.context.support.AbstractApplicationContextaddApplicationListener, addBeanFactoryPostProcessor, assertBeanFactoryActive, close, containsBean, containsBeanDefinition, containsLocalBean, destroyBeans, findAllAnnotationsOnBean, findAnnotationOnBean, findAnnotationOnBean, finishBeanFactoryInitialization, finishRefresh, getAliases, getApplicationListeners, getApplicationName, getApplicationStartup, getBean, getBean, getBean, getBean, getBean, getBeanDefinitionCount, getBeanDefinitionNames, getBeanFactoryPostProcessors, getBeanNamesForAnnotation, getBeanNamesForType, getBeanNamesForType, getBeanNamesForType, getBeanNamesForType, getBeanProvider, getBeanProvider, getBeanProvider, getBeanProvider, getBeansOfType, getBeansOfType, getBeansWithAnnotation, getDisplayName, getEnvironment, getId, getInternalParentBeanFactory, getInternalParentMessageSource, getMessage, getMessage, getMessage, getParent, getParentBeanFactory, getResourcePatternResolver, getStartupDate, getType, getType, initApplicationEventMulticaster, initLifecycleProcessor, initMessageSource, initPropertySources, invokeBeanFactoryPostProcessors, isActive, isPrototype, isRunning, isSingleton, isTypeMatch, isTypeMatch, obtainFreshBeanFactory, onClose, prepareBeanFactory, publishEvent, publishEvent, publishEvent, registerBeanPostProcessors, registerListeners, registerShutdownHook, removeApplicationListener, resetCommonCaches, setDisplayName, setId, start, stop, toStringMethods inherited from class org.springframework.core.io.DefaultResourceLoaderaddProtocolResolver, clearResourceCaches, getProtocolResolvers, getResourceCacheMethods inherited from class java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.springframework.core.AliasRegistrygetAliasesMethods inherited from interface org.springframework.context.ApplicationContextgetApplicationName, getAutowireCapableBeanFactory, getDisplayName, getId, getParent, getStartupDateMethods inherited from interface org.springframework.context.ApplicationEventPublisherpublishEvent, publishEventMethods inherited from interface org.springframework.beans.factory.support.BeanDefinitionRegistrycontainsBeanDefinition, getBeanDefinitionCount, getBeanDefinitionNamesMethods inherited from interface org.springframework.beans.factory.BeanFactorycontainsBean, getAliases, getBean, getBean, getBean, getBean, getBean, getBeanProvider, getBeanProvider, getType, getType, isPrototype, isSingleton, isTypeMatch, isTypeMatchMethods inherited from interface org.springframework.context.ConfigurableApplicationContextaddApplicationListener, addBeanFactoryPostProcessor, addProtocolResolver, close, getApplicationStartup, getBeanFactory, getEnvironment, isActive, registerShutdownHook, removeApplicationListener, setApplicationStartup, setClassLoader, setId, setParentMethods inherited from interface org.springframework.beans.factory.HierarchicalBeanFactorycontainsLocalBean, getParentBeanFactoryMethods inherited from interface org.springframework.beans.factory.ListableBeanFactorycontainsBeanDefinition, findAllAnnotationsOnBean, findAnnotationOnBean, findAnnotationOnBean, getBeanDefinitionCount, getBeanDefinitionNames, getBeanNamesForAnnotation, getBeanNamesForType, getBeanNamesForType, getBeanNamesForType, getBeanNamesForType, getBeanProvider, getBeanProvider, getBeansOfType, getBeansOfType, getBeansWithAnnotationMethods inherited from interface org.springframework.context.MessageSourcegetMessage, getMessage, getMessageMethods inherited from interface org.springframework.core.io.ResourceLoadergetClassLoader, getResourceMethods inherited from interface org.springframework.core.io.support.ResourcePatternResolvergetResources
- 
Constructor Details- 
AnnotationConfigReactiveWebServerApplicationContextpublic AnnotationConfigReactiveWebServerApplicationContext()Create a newAnnotationConfigReactiveWebServerApplicationContextthat needs to be populated throughregister(java.lang.Class<?>...)calls and then manually refreshed.
- 
AnnotationConfigReactiveWebServerApplicationContextCreate a newAnnotationConfigReactiveWebServerApplicationContextwith the givenDefaultListableBeanFactory. The context needs to be populated throughregister(java.lang.Class<?>...)calls and then manually refreshed.- Parameters:
- beanFactory- the DefaultListableBeanFactory instance to use for this context
 
- 
AnnotationConfigReactiveWebServerApplicationContextCreate a newAnnotationConfigReactiveWebServerApplicationContext, deriving bean definitions from the given annotated classes and automatically refreshing the context.- Parameters:
- annotatedClasses- one or more annotated classes, e.g.- @Configurationclasses
 
- 
AnnotationConfigReactiveWebServerApplicationContextCreate a newAnnotationConfigReactiveWebServerApplicationContext, scanning for bean definitions in the given packages and automatically refreshing the context.- Parameters:
- basePackages- the packages to check for annotated classes
 
 
- 
- 
Method Details- 
setEnvironmentDelegates given environment to underlying AnnotatedBeanDefinitionReaderandClassPathBeanDefinitionScannermembers.- Specified by:
- setEnvironmentin interface- ConfigurableApplicationContext
- Overrides:
- setEnvironmentin class- AbstractApplicationContext
 
- 
setBeanNameGeneratorProvide a customBeanNameGeneratorfor use withAnnotatedBeanDefinitionReaderand/orClassPathBeanDefinitionScanner, if any.Default is AnnotationBeanNameGenerator.Any call to this method must occur prior to calls to register(Class...)and/orscan(String...).- Parameters:
- beanNameGenerator- the bean name generator
- See Also:
 
- 
setScopeMetadataResolverSet theScopeMetadataResolverto use for detected bean classes.The default is an AnnotationScopeMetadataResolver.Any call to this method must occur prior to calls to register(Class...)and/orscan(String...).- Parameters:
- scopeMetadataResolver- the scope metadata resolver
 
- 
registerRegister one or more annotated classes to be processed. Note thatReactiveWebServerApplicationContext.refresh()must be called in order for the context to fully process the new class.Calls to #registerare idempotent; adding the same annotated class more than once has no additional effect.- Specified by:
- registerin interface- AnnotationConfigRegistry
- Parameters:
- annotatedClasses- one or more annotated classes, e.g.- @Configurationclasses
- See Also:
 
- 
scanPerform a scan within the specified base packages. Note thatReactiveWebServerApplicationContext.refresh()must be called in order for the context to fully process the new class.- Specified by:
- scanin interface- AnnotationConfigRegistry
- Parameters:
- basePackages- the packages to check for annotated classes
- See Also:
 
- 
prepareRefreshprotected void prepareRefresh()- Overrides:
- prepareRefreshin class- AbstractApplicationContext
 
- 
postProcessBeanFactory- Overrides:
- postProcessBeanFactoryin class- AbstractApplicationContext
 
 
-