|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.springframework.context.annotation.ConfigurationClassPostProcessor
public class ConfigurationClassPostProcessor
BeanFactoryPostProcessor
used for bootstrapping processing of
@Configuration
classes.
Registered by default when using <context:annotation-config/>
or
<context:component-scan/>
. Otherwise, may be declared manually as
with any other BeanFactoryPostProcessor.
This post processor is Ordered.HIGHEST_PRECEDENCE
as it is important
that any Bean
methods declared in Configuration classes have their
respective bean definitions registered before any other BeanFactoryPostProcessor
executes.
Nested Class Summary | |
---|---|
private static class |
ConfigurationClassPostProcessor.ImportAwareBeanPostProcessor
|
Field Summary | |
---|---|
private java.lang.ClassLoader |
beanClassLoader
|
private static boolean |
cglibAvailable
Whether the CGLIB2 library is present on the classpath |
private Environment |
environment
|
private java.util.Set<java.lang.Integer> |
factoriesPostProcessed
|
private Log |
logger
|
private MetadataReaderFactory |
metadataReaderFactory
|
private ProblemReporter |
problemReporter
|
private ConfigurationClassBeanDefinitionReader |
reader
|
private java.util.Set<java.lang.Integer> |
registriesPostProcessed
|
private ResourceLoader |
resourceLoader
|
private boolean |
setMetadataReaderFactoryCalled
|
private SourceExtractor |
sourceExtractor
|
Constructor Summary | |
---|---|
ConfigurationClassPostProcessor()
|
Method Summary | |
---|---|
void |
enhanceConfigurationClasses(ConfigurableListableBeanFactory beanFactory)
Post-processes a BeanFactory in search of Configuration class BeanDefinitions; any candidates are then enhanced by a ConfigurationClassEnhancer . |
private ConfigurationClassBeanDefinitionReader |
getConfigurationClassBeanDefinitionReader(BeanDefinitionRegistry registry)
|
void |
postProcessBeanDefinitionRegistry(BeanDefinitionRegistry registry)
Derive further bean definitions from the configuration classes in the registry. |
void |
postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory)
Prepare the Configuration classes for servicing bean requests at runtime by replacing them with CGLIB-enhanced subclasses. |
void |
processConfigBeanDefinitions(BeanDefinitionRegistry registry)
Build and validate a configuration model based on the registry of Configuration classes. |
void |
setBeanClassLoader(java.lang.ClassLoader beanClassLoader)
Callback that supplies the bean class loader to
a bean instance. |
void |
setEnvironment(Environment environment)
Set the Environment that this object runs in. |
void |
setMetadataReaderFactory(MetadataReaderFactory metadataReaderFactory)
Set the MetadataReaderFactory to use. |
void |
setProblemReporter(ProblemReporter problemReporter)
Set the ProblemReporter to use. |
void |
setResourceLoader(ResourceLoader resourceLoader)
Set the ResourceLoader that this object runs in. |
void |
setSourceExtractor(SourceExtractor sourceExtractor)
Set the SourceExtractor to use for generated bean definitions
that correspond to Bean factory methods. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
private static final boolean cglibAvailable
private final Log logger
private SourceExtractor sourceExtractor
private ProblemReporter problemReporter
private Environment environment
private ResourceLoader resourceLoader
private java.lang.ClassLoader beanClassLoader
private MetadataReaderFactory metadataReaderFactory
private boolean setMetadataReaderFactoryCalled
private final java.util.Set<java.lang.Integer> registriesPostProcessed
private final java.util.Set<java.lang.Integer> factoriesPostProcessed
private ConfigurationClassBeanDefinitionReader reader
Constructor Detail |
---|
public ConfigurationClassPostProcessor()
Method Detail |
---|
public void setSourceExtractor(SourceExtractor sourceExtractor)
SourceExtractor
to use for generated bean definitions
that correspond to Bean
factory methods.
public void setProblemReporter(ProblemReporter problemReporter)
ProblemReporter
to use.
Used to register any problems detected with Configuration
or Bean
declarations. For instance, an @Bean method marked as final
is illegal
and would be reported as a problem. Defaults to FailFastProblemReporter
.
public void setMetadataReaderFactory(MetadataReaderFactory metadataReaderFactory)
MetadataReaderFactory
to use.
Default is a CachingMetadataReaderFactory
for the specified
bean class loader.
public void setEnvironment(Environment environment)
EnvironmentAware
Environment
that this object runs in.
setEnvironment
in interface EnvironmentAware
public void setResourceLoader(ResourceLoader resourceLoader)
ResourceLoaderAware
This might be a ResourcePatternResolver, which can be checked
through instanceof ResourcePatternResolver
. See also the
ResourcePatternUtils.getResourcePatternResolver
method.
Invoked after population of normal bean properties but before an init callback
like InitializingBean's afterPropertiesSet
or a custom init-method.
Invoked before ApplicationContextAware's setApplicationContext
.
setResourceLoader
in interface ResourceLoaderAware
resourceLoader
- ResourceLoader object to be used by this objectResourcePatternResolver
,
ResourcePatternUtils.getResourcePatternResolver(org.springframework.core.io.ResourceLoader)
public void setBeanClassLoader(java.lang.ClassLoader beanClassLoader)
BeanClassLoaderAware
class loader
to
a bean instance.
Invoked after the population of normal bean properties but
before an initialization callback such as
InitializingBean's
InitializingBean.afterPropertiesSet()
method or a custom init-method.
setBeanClassLoader
in interface BeanClassLoaderAware
beanClassLoader
- the owning class loader; may be null
in
which case a default ClassLoader
must be used, for example
the ClassLoader
obtained via
ClassUtils.getDefaultClassLoader()
public void postProcessBeanDefinitionRegistry(BeanDefinitionRegistry registry)
postProcessBeanDefinitionRegistry
in interface BeanDefinitionRegistryPostProcessor
registry
- the bean definition registry used by the application contextpublic void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory)
postProcessBeanFactory
in interface BeanFactoryPostProcessor
beanFactory
- the bean factory used by the application contextprivate ConfigurationClassBeanDefinitionReader getConfigurationClassBeanDefinitionReader(BeanDefinitionRegistry registry)
public void processConfigBeanDefinitions(BeanDefinitionRegistry registry)
Configuration
classes.
public void enhanceConfigurationClasses(ConfigurableListableBeanFactory beanFactory)
ConfigurationClassEnhancer
.
Candidate status is determined by BeanDefinition attribute metadata.
ConfigurationClassEnhancer
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |