XmlBeanFactory
XmlBeanDefinitionReader
DefaultBeanDefinitionDocumentReader
BeanDefinitionParserDelegate
AbstractBeanFactory
extends
AbstractAutowireCapableBeanFactory
extends
DefaultListableBeanFactory
AnnotationConfigEmbeddedWebApplicationContext refresh
AnnotationConfigApplicationContext -> AnnotatedBeanDefinitionReader
-> DefaultListableBeanFactory
ConfigurationClassParser
AnnotationConfigApplicationContext(AnnotatedClasses)
Register(annotatedClasses){
AnnotatedBeanDefinitionReader.register(annotatedClasses)
}
refresh() {
invokeBeanFactoryPostProcessors(DefaultListableBeanFactory)
PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors
ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(DefaultListableBeanFactory)
ConfigurationClassParser.parse(AnnotatedBeanDefinition)
ConfigurationClassParser.retrieveBeanMethodMetadata()
ConfigurationClassBeanDefinitionReader.loadBeanDefinitions(anntatedClasses)
ConfigurationClassBeanDefinitionReader.loadBeanDefinitionsForBeanMethod()
}
beanFactory.preInstantiateSingletons
AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod()