Spring Framework Source Code Analysis
- spring版本: 4.3.0.RELEASE
- jdk版本: 1.8
- spring-aop
- spring-beans
- spring-context
- spring-core
- spring-expression
- spring-instrument
- DefaultListableBeanFactory
- Resource定位
- 加载BeanDefinition
- 注册BeanDefinition
- ClassPathXmlApplicationContext
-
XML -> Resource -> BeanDefinition -> BeanFactory
-
注册BeanDefinition: DefaultBeanDefinitionDocumentReader.parseBeanDefinitions()
-
DefaultNamespaceHandlerResolver: Spring命名空间解析
- AnnotationConfigBeanDefinitionParser
- 注册 org.springframework.context.annotation.internalConfigurationAnnotationProcessor
- 注册 org.springframework.context.annotation.internalAutowiredAnnotationProcessor
- 注册 org.springframework.context.annotation.internalRequiredAnnotationProcessor
- 注册 org.springframework.context.annotation.internalCommonAnnotationProcessor
- 注册 org.springframework.context.event.internalEventListenerProcessor
- 注册 org.springframework.context.event.internalEventListenerFactory
- ComponentScanBeanDefinitionParser
- AbstractAutowireCapableBeanFactory.doCreateBean()
- AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues()
- 读取bean的autowire配置, DefaultBeanDefinitionDocumentReader.getAutowireMode(), byName/byType
- AbstractAutowireCapableBeanFactory.populateBean()
- byName - autowireByName()
- byType - autowireByType()