class ConfigurationClassBeanDefinitionReader
extends java.lang.Object
BeanDefinitionRegistry
based on its contents.
This class was modeled after the BeanDefinitionReader
hierarchy, but does
not implement/extend any of its artifacts as a set of configuration classes is not a
Resource
.
ConfigurationClassParser
Modifier and Type | Class and Description |
---|---|
private static class |
ConfigurationClassBeanDefinitionReader.ConfigurationClassBeanDefinition
RootBeanDefinition marker subclass used to signify that a bean definition
was created from a configuration class as opposed to any other configuration source. |
private static class |
ConfigurationClassBeanDefinitionReader.InvalidConfigurationImportProblem
Configuration classes must be annotated with
@Configuration or
declare at least one @Bean method. |
Modifier and Type | Field and Description |
---|---|
private Environment |
environment |
private BeanNameGenerator |
importBeanNameGenerator |
private static Log |
logger |
private MetadataReaderFactory |
metadataReaderFactory |
private ProblemReporter |
problemReporter |
private BeanDefinitionRegistry |
registry |
private ResourceLoader |
resourceLoader |
private SourceExtractor |
sourceExtractor |
Constructor and Description |
---|
ConfigurationClassBeanDefinitionReader(BeanDefinitionRegistry registry,
SourceExtractor sourceExtractor,
ProblemReporter problemReporter,
MetadataReaderFactory metadataReaderFactory,
ResourceLoader resourceLoader,
Environment environment,
BeanNameGenerator importBeanNameGenerator)
Create a new
ConfigurationClassBeanDefinitionReader instance that will be used
to populate the given BeanDefinitionRegistry . |
Modifier and Type | Method and Description |
---|---|
void |
loadBeanDefinitions(java.util.Set<ConfigurationClass> configurationModel)
Read
configurationModel , registering bean definitions with registry
based on its contents. |
private void |
loadBeanDefinitionsForBeanMethod(BeanMethod beanMethod)
Read the given
BeanMethod , registering bean definitions
with the BeanDefinitionRegistry based on its contents. |
private void |
loadBeanDefinitionsForConfigurationClass(ConfigurationClass configClass)
Read a particular
ConfigurationClass , registering bean definitions for the
class itself, all its Bean methods |
private void |
loadBeanDefinitionsFromImportedResources(java.util.Map<java.lang.String,java.lang.Class<? extends BeanDefinitionReader>> importedResources) |
private void |
registerBeanDefinitionForImportedConfigurationClass(ConfigurationClass configClass)
Register the
Configuration class itself as a bean definition. |
private static final Log logger
private final BeanDefinitionRegistry registry
private final SourceExtractor sourceExtractor
private final ProblemReporter problemReporter
private final MetadataReaderFactory metadataReaderFactory
private final ResourceLoader resourceLoader
private final Environment environment
private final BeanNameGenerator importBeanNameGenerator
public ConfigurationClassBeanDefinitionReader(BeanDefinitionRegistry registry, SourceExtractor sourceExtractor, ProblemReporter problemReporter, MetadataReaderFactory metadataReaderFactory, ResourceLoader resourceLoader, Environment environment, BeanNameGenerator importBeanNameGenerator)
ConfigurationClassBeanDefinitionReader
instance that will be used
to populate the given BeanDefinitionRegistry
.public void loadBeanDefinitions(java.util.Set<ConfigurationClass> configurationModel)
configurationModel
, registering bean definitions with registry
based on its contents.private void loadBeanDefinitionsForConfigurationClass(ConfigurationClass configClass)
ConfigurationClass
, registering bean definitions for the
class itself, all its Bean
methodsprivate void registerBeanDefinitionForImportedConfigurationClass(ConfigurationClass configClass)
Configuration
class itself as a bean definition.private void loadBeanDefinitionsForBeanMethod(BeanMethod beanMethod)
BeanMethod
, registering bean definitions
with the BeanDefinitionRegistry based on its contents.private void loadBeanDefinitionsFromImportedResources(java.util.Map<java.lang.String,java.lang.Class<? extends BeanDefinitionReader>> importedResources)