public class AnnotationConfigReactiveWebApplicationContext extends AnnotationConfigApplicationContext implements ConfigurableReactiveWebApplicationContext
ConfigurableReactiveWebApplicationContext
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 via an extra Configuration class.
AnnotationConfigApplicationContext
DefaultResourceLoader.ClassPathContextResource
APPLICATION_EVENT_MULTICASTER_BEAN_NAME, LIFECYCLE_PROCESSOR_BEAN_NAME, logger, MESSAGE_SOURCE_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_NAME
FACTORY_BEAN_PREFIX
CLASSPATH_ALL_URL_PREFIX
CLASSPATH_URL_PREFIX
Constructor and Description |
---|
AnnotationConfigReactiveWebApplicationContext()
Create a new AnnotationConfigReactiveWebApplicationContext that needs to be
populated through
AnnotationConfigApplicationContext.register(java.lang.Class<?>...) calls and then manually refreshed. |
AnnotationConfigReactiveWebApplicationContext(Class<?>... annotatedClasses)
Create a new AnnotationConfigApplicationContext, deriving bean definitions from the
given annotated classes and automatically refreshing the context.
|
AnnotationConfigReactiveWebApplicationContext(DefaultListableBeanFactory beanFactory)
Create a new AnnotationConfigApplicationContext with the given
DefaultListableBeanFactory.
|
AnnotationConfigReactiveWebApplicationContext(String... basePackages)
Create a new AnnotationConfigApplicationContext, scanning for bean definitions in
the given packages and automatically refreshing the context.
|
Modifier and Type | Method and Description |
---|---|
protected DefaultListableBeanFactory |
createBeanFactory()
Deprecated.
since 2.2.0 since this class no longer extends
AbstractRefreshableConfigApplicationContext . |
protected ConfigurableEnvironment |
createEnvironment() |
protected void |
customizeBeanFactory(DefaultListableBeanFactory beanFactory)
Deprecated.
since 2.2.0 since this class no longer extends
AbstractRefreshableConfigApplicationContext . |
protected AnnotatedBeanDefinitionReader |
getAnnotatedBeanDefinitionReader(DefaultListableBeanFactory beanFactory)
Deprecated.
since 2.2.0 since this class no longer extends
AbstractRefreshableConfigApplicationContext |
protected BeanNameGenerator |
getBeanNameGenerator()
Deprecated.
since 2.2.0 since this class no longer extends
AbstractRefreshableConfigApplicationContext |
protected ClassPathBeanDefinitionScanner |
getClassPathBeanDefinitionScanner(DefaultListableBeanFactory beanFactory)
Deprecated.
since 2.2.0 since this class no longer extends
AbstractRefreshableConfigApplicationContext |
protected String[] |
getConfigLocations()
Deprecated.
since 2.2.0 since this class no longer extends
AbstractRefreshableConfigApplicationContext . |
protected String[] |
getDefaultConfigLocations()
Deprecated.
since 2.2.0 since this class no longer extends
AbstractRefreshableConfigApplicationContext . |
protected Resource |
getResourceByPath(String path) |
protected ScopeMetadataResolver |
getScopeMetadataResolver()
Deprecated.
since 2.2.0 since this class no longer extends
AbstractRefreshableConfigApplicationContext |
protected boolean |
hasBeanFactory()
Deprecated.
since 2.2.0 since this class no longer extends
AbstractRefreshableConfigApplicationContext . |
protected void |
loadBeanDefinitions(DefaultListableBeanFactory beanFactory)
Deprecated.
since 2.2.0 since this class no longer extends
AbstractRefreshableConfigApplicationContext |
protected String |
resolvePath(String path)
Deprecated.
since 2.2.0 since this class no longer extends
AbstractRefreshableConfigApplicationContext . |
void |
setConfigLocation(String location)
Deprecated.
since 2.2.0 since this class no longer extends
AbstractRefreshableConfigApplicationContext . Use
@ImportResource instead. |
void |
setConfigLocations(String... locations)
Deprecated.
since 2.2.0 since this class no longer extends
AbstractRefreshableConfigApplicationContext . Use
@ImportResource instead. |
register, registerBean, scan, setBeanNameGenerator, setEnvironment, setScopeMetadataResolver
cancelRefresh, closeBeanFactory, getAutowireCapableBeanFactory, getBeanDefinition, getBeanFactory, getClassLoader, getDefaultListableBeanFactory, getResource, getResources, isAlias, isBeanNameInUse, refreshBeanFactory, registerAlias, registerBean, registerBean, registerBean, registerBean, registerBean, registerBeanDefinition, removeAlias, removeBeanDefinition, setAllowBeanDefinitionOverriding, setAllowCircularReferences, setClassLoader, setParent, setResourceLoader
addApplicationListener, addBeanFactoryPostProcessor, assertBeanFactoryActive, close, containsBean, containsBeanDefinition, containsLocalBean, destroy, destroyBeans, doClose, findAnnotationOnBean, finishBeanFactoryInitialization, finishRefresh, getAliases, getApplicationListeners, getApplicationName, getBean, getBean, getBean, getBean, getBean, getBeanDefinitionCount, getBeanDefinitionNames, getBeanFactoryPostProcessors, getBeanNamesForAnnotation, getBeanNamesForType, getBeanNamesForType, getBeanNamesForType, getBeanNamesForType, 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, onRefresh, postProcessBeanFactory, prepareBeanFactory, prepareRefresh, publishEvent, publishEvent, publishEvent, refresh, registerBeanPostProcessors, registerListeners, registerShutdownHook, resetCommonCaches, setDisplayName, setId, start, stop, toString
addProtocolResolver, clearResourceCaches, getProtocolResolvers, getResourceCache
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
addApplicationListener, addBeanFactoryPostProcessor, addProtocolResolver, close, getBeanFactory, getEnvironment, isActive, refresh, registerShutdownHook, setClassLoader, setEnvironment, setId, setParent
getApplicationName, getAutowireCapableBeanFactory, getDisplayName, getId, getParent, getStartupDate
containsBeanDefinition, findAnnotationOnBean, getBeanDefinitionCount, getBeanDefinitionNames, getBeanNamesForAnnotation, getBeanNamesForType, getBeanNamesForType, getBeanNamesForType, getBeanNamesForType, getBeansOfType, getBeansOfType, getBeansWithAnnotation
containsLocalBean, getParentBeanFactory
containsBean, getAliases, getBean, getBean, getBean, getBean, getBean, getBeanProvider, getBeanProvider, getType, getType, isPrototype, isSingleton, isTypeMatch, isTypeMatch
getMessage, getMessage, getMessage
publishEvent, publishEvent
getResources
getClassLoader, getResource
containsBeanDefinition, getBeanDefinitionCount, getBeanDefinitionNames
getAliases
public AnnotationConfigReactiveWebApplicationContext()
AnnotationConfigApplicationContext.register(java.lang.Class<?>...)
calls and then manually refreshed.public AnnotationConfigReactiveWebApplicationContext(DefaultListableBeanFactory beanFactory)
beanFactory
- the DefaultListableBeanFactory instance to use for this contextpublic AnnotationConfigReactiveWebApplicationContext(Class<?>... annotatedClasses)
annotatedClasses
- one or more annotated classes, e.g.
@Configuration
classespublic AnnotationConfigReactiveWebApplicationContext(String... basePackages)
basePackages
- the packages to check for annotated classesprotected ConfigurableEnvironment createEnvironment()
createEnvironment
in class AbstractApplicationContext
protected Resource getResourceByPath(String path)
getResourceByPath
in class DefaultResourceLoader
@Deprecated protected final BeanNameGenerator getBeanNameGenerator()
AbstractRefreshableConfigApplicationContext
BeanNameGenerator
for use with
AnnotatedBeanDefinitionReader
and/or
ClassPathBeanDefinitionScanner
, if any.@Deprecated protected ScopeMetadataResolver getScopeMetadataResolver()
AbstractRefreshableConfigApplicationContext
ScopeMetadataResolver
for use with
AnnotatedBeanDefinitionReader
and/or
ClassPathBeanDefinitionScanner
, if any.@Deprecated protected void loadBeanDefinitions(DefaultListableBeanFactory beanFactory)
AbstractRefreshableConfigApplicationContext
BeanDefinition
for any
classes specified by AnnotationConfigApplicationContext.register(Class...)
and scan any packages specified by
AnnotationConfigApplicationContext.scan(String...)
.
For any values specified by setConfigLocation(String)
or
setConfigLocations(String[])
, attempt first to load each location as a
class, registering a BeanDefinition
if class loading is successful, and if
class loading fails (i.e. a ClassNotFoundException
is raised), assume the
value is a package and attempt to scan it 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.
beanFactory
- the bean factory to load bean definitions intoAnnotationConfigApplicationContext.register(Class...)
,
AnnotationConfigApplicationContext.scan(String...)
,
setConfigLocation(String)
,
setConfigLocations(String[])
,
AnnotatedBeanDefinitionReader
,
ClassPathBeanDefinitionScanner
@Deprecated protected AnnotatedBeanDefinitionReader getAnnotatedBeanDefinitionReader(DefaultListableBeanFactory beanFactory)
AbstractRefreshableConfigApplicationContext
AnnotatedBeanDefinitionReader
for the given bean factory.
This should be pre-configured with the Environment
(if desired) but not
with a BeanNameGenerator
or ScopeMetadataResolver
yet.
beanFactory
- the bean factory to load bean definitions intoAbstractApplicationContext.getEnvironment()
,
getBeanNameGenerator()
,
getScopeMetadataResolver()
@Deprecated protected ClassPathBeanDefinitionScanner getClassPathBeanDefinitionScanner(DefaultListableBeanFactory beanFactory)
AbstractRefreshableConfigApplicationContext
ClassPathBeanDefinitionScanner
for the given bean factory.
This should be pre-configured with the Environment
(if desired) but not
with a BeanNameGenerator
or ScopeMetadataResolver
yet.
beanFactory
- the bean factory to load bean definitions intoAbstractApplicationContext.getEnvironment()
,
getBeanNameGenerator()
,
getScopeMetadataResolver()
@Deprecated public void setConfigLocation(String location)
AbstractRefreshableConfigApplicationContext
. Use
@ImportResource
instead.If not set, the implementation may use a default as appropriate.
location
- the config location@Deprecated public void setConfigLocations(@Nullable String... locations)
AbstractRefreshableConfigApplicationContext
. Use
@ImportResource
instead.If not set, the implementation may use a default as appropriate.
locations
- the config locations@Deprecated protected String[] getConfigLocations()
AbstractRefreshableConfigApplicationContext
.
The default implementation returns null
. Subclasses can override this to
provide a set of resource locations to load bean definitions from.
null
if noneGenericApplicationContext.getResources(java.lang.String)
,
AbstractApplicationContext.getResourcePatternResolver()
@Deprecated protected String[] getDefaultConfigLocations()
AbstractRefreshableConfigApplicationContext
.
The default implementation returns null
, requiring explicit config
locations.
setConfigLocations(java.lang.String...)
@Deprecated protected String resolvePath(String path)
AbstractRefreshableConfigApplicationContext
.path
- the original file pathPropertyResolver.resolveRequiredPlaceholders(String)
@Deprecated protected final boolean hasBeanFactory()
AbstractRefreshableConfigApplicationContext
.true
if the context holds a bean factory@Deprecated protected DefaultListableBeanFactory createBeanFactory()
AbstractRefreshableConfigApplicationContext
.AbstractApplicationContext.refresh()
attempt.
The default implementation creates a
DefaultListableBeanFactory
with
the internal bean factory of this
context's parent as parent bean factory. Can be overridden in subclasses, for
example to customize DefaultListableBeanFactory's settings.
DefaultListableBeanFactory.setAllowBeanDefinitionOverriding(boolean)
,
DefaultListableBeanFactory.setAllowEagerClassLoading(boolean)
,
AbstractAutowireCapableBeanFactory.setAllowCircularReferences(boolean)
,
AbstractAutowireCapableBeanFactory.setAllowRawInjectionDespiteWrapping(boolean)
@Deprecated protected void customizeBeanFactory(DefaultListableBeanFactory beanFactory)
AbstractRefreshableConfigApplicationContext
.AbstractApplicationContext.refresh()
attempt.
The default implementation applies this context's
"allowBeanDefinitionOverriding" and
"allowCircularReferences" settings, if
specified. Can be overridden in subclasses to customize any of
DefaultListableBeanFactory
's settings.
beanFactory
- the newly created bean factory for this contextDefaultListableBeanFactory.setAllowBeanDefinitionOverriding(boolean)
,
AbstractAutowireCapableBeanFactory.setAllowCircularReferences(boolean)
,
AbstractAutowireCapableBeanFactory.setAllowRawInjectionDespiteWrapping(boolean)
,
DefaultListableBeanFactory.setAllowEagerClassLoading(boolean)
Copyright © 2020 Pivotal Software, Inc.. All rights reserved.