|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.springframework.core.io.DefaultResourceLoader org.springframework.context.support.AbstractApplicationContext org.springframework.context.support.GenericApplicationContext org.springframework.context.annotation.AnnotationConfigApplicationContext
public class AnnotationConfigApplicationContext
Standalone application context, accepting 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 (register(java.lang.Class>...)
) as well as for classpath scanning
(scan(java.lang.String...)
).
In case of multiple Configuration classes, Bean
methods defined in later
classes will override those defined in earlier classes. This can be leveraged to
deliberately override certain bean definitions via an extra Configuration class.
register(java.lang.Class>...)
,
scan(java.lang.String...)
,
AnnotatedBeanDefinitionReader
,
ClassPathBeanDefinitionScanner
,
GenericXmlApplicationContext
Field Summary | |
---|---|
private AnnotatedBeanDefinitionReader |
reader
|
private ClassPathBeanDefinitionScanner |
scanner
|
Fields inherited from class org.springframework.context.support.AbstractApplicationContext |
---|
APPLICATION_EVENT_MULTICASTER_BEAN_NAME, LIFECYCLE_PROCESSOR_BEAN_NAME, logger, MESSAGE_SOURCE_BEAN_NAME |
Fields inherited from interface org.springframework.context.ConfigurableApplicationContext |
---|
CONFIG_LOCATION_DELIMITERS, CONVERSION_SERVICE_BEAN_NAME, LOAD_TIME_WEAVER_BEAN_NAME, SYSTEM_ENVIRONMENT_BEAN_NAME, SYSTEM_PROPERTIES_BEAN_NAME |
Fields inherited from interface org.springframework.beans.factory.BeanFactory |
---|
FACTORY_BEAN_PREFIX |
Fields inherited from interface org.springframework.core.io.support.ResourcePatternResolver |
---|
CLASSPATH_ALL_URL_PREFIX |
Fields inherited from interface org.springframework.core.io.ResourceLoader |
---|
CLASSPATH_URL_PREFIX |
Constructor Summary | |
---|---|
AnnotationConfigApplicationContext()
Create a new AnnotationConfigApplicationContext that needs to be populated through register(java.lang.Class>...) calls and then manually refreshed . |
|
AnnotationConfigApplicationContext(java.lang.Class<?>... annotatedClasses)
Create a new AnnotationConfigApplicationContext, deriving bean definitions from the given annotated classes and automatically refreshing the context. |
|
AnnotationConfigApplicationContext(java.lang.String... basePackages)
Create a new AnnotationConfigApplicationContext, scanning for bean definitions in the given packages and automatically refreshing the context. |
Method Summary | |
---|---|
void |
register(java.lang.Class<?>... annotatedClasses)
Register an annotated class to be processed. |
void |
scan(java.lang.String... basePackages)
Perform a scan within the specified base packages. |
void |
setBeanNameGenerator(BeanNameGenerator beanNameGenerator)
Set the BeanNameGenerator to use for detected bean classes. |
void |
setScopeMetadataResolver(ScopeMetadataResolver scopeMetadataResolver)
Set the ScopeMetadataResolver to use for detected bean classes. |
Methods inherited from class org.springframework.context.support.GenericApplicationContext |
---|
cancelRefresh, closeBeanFactory, getBeanDefinition, getBeanFactory, getDefaultListableBeanFactory, getResource, getResources, isAlias, isBeanNameInUse, refreshBeanFactory, registerAlias, registerBeanDefinition, removeAlias, removeBeanDefinition, setAllowBeanDefinitionOverriding, setAllowCircularReferences, setId, setParent, setResourceLoader |
Methods inherited from class org.springframework.core.io.DefaultResourceLoader |
---|
getClassLoader, getResourceByPath, setClassLoader |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Methods inherited from interface org.springframework.beans.factory.support.BeanDefinitionRegistry |
---|
containsBeanDefinition, getBeanDefinitionCount, getBeanDefinitionNames |
Methods inherited from interface org.springframework.core.AliasRegistry |
---|
getAliases |
Methods inherited from interface org.springframework.core.io.ResourceLoader |
---|
getClassLoader |
Field Detail |
---|
private final AnnotatedBeanDefinitionReader reader
private final ClassPathBeanDefinitionScanner scanner
Constructor Detail |
---|
public AnnotationConfigApplicationContext()
register(java.lang.Class>...)
calls and then manually refreshed
.
public AnnotationConfigApplicationContext(java.lang.Class<?>... annotatedClasses)
annotatedClasses
- one or more annotated classes,
e.g. @Configuration
classespublic AnnotationConfigApplicationContext(java.lang.String... basePackages)
basePackages
- the packages to check for annotated classesMethod Detail |
---|
public void setBeanNameGenerator(BeanNameGenerator beanNameGenerator)
Default is a AnnotationBeanNameGenerator
.
public void setScopeMetadataResolver(ScopeMetadataResolver scopeMetadataResolver)
The default is an AnnotationScopeMetadataResolver
.
public void register(java.lang.Class<?>... annotatedClasses)
AnnotationConfigApplicationContext
. Note that
AbstractApplicationContext.refresh()
must be called in
order for the context to fully process the new class.
Calls to register(java.lang.Class>...)
are idempotent; adding the same
annotated class more than once has no additional effect.
annotatedClasses
- one or more annotated classes,
e.g. @Configuration
classesAbstractApplicationContext.refresh()
public void scan(java.lang.String... basePackages)
AbstractApplicationContext.refresh()
must be
called in order for the context to fully process the new class.
basePackages
- the packages to check for annotated classesAbstractApplicationContext.refresh()
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |