文章目录 描述SpringIoc简单的一个加载流程一个类通过注解的方式读取成统一的BeanDefinitionBeanDefinitionRead负责读取配置类BeanDefinitionScanner扫描加了注解的类BeanDefinitionRegistry负责将BeanDefinitionScanner扫描到的BeanDefinition注册进BeanDefinitionMap中 Spring扩展点:BeanFactoryPostProcessorSpring扩展点:BeanDefinitionRegistryPostProcessorgetBean()Spring扩展点:BeanPostProcessor通过反射实例化填充属性初始化放到一级缓存里面 Bean的生命周期BeanFactory简单工厂模式实现原理bean容器的启动阶段容器中bean的实例化阶段 设计意义 BeanDefinitionBeanFactory和ApplicationContext的区别ApplicationContext的结构图 注入Spring底层的组件Spring提供了以下Aware第一部分Aware的调用AbstractAutowireCapableBeanFactory#doCreateBeanAbstractAutowireCapableBeanFactory#initializeBean()AbstractAutowireCapableBeanFactory#invokeAwareMethods 第二部分Aware接口的调用ApplicationContextAwareProcessorAbstractAutowireCapableBeanFactory#applyBeanPostProcessorsBeforeInitialization 使用案例实现EmbeddedValueResolverAware接口