1.Spring容器在启动的时候,先会保存所有注册进来的Bean的定义信息;
- xml注册bean;<bean>
- 注解注册Bean;@Service、@component、@Bean等
2. Spring容器会在合适的时机创建这些Bean
- 用到这个bean的时候;利用getBean创建bean;创建好以后保存在容器中;
- 统一创建剩下所有的bean的时候;finishBeanFactoryInitialization();
3.后置处理器:BeanPostProcessor
- 每一个bean创建完成后,都会使用各种后置处理器进行处理,来增强bean的功能;
AutowiredAnnotationBeanPostProcessor:处理自动注入
AnnotationAwareAspectJAutoProxyCreateor:来做AOP功能;
AsyncAnnotationBeanPostProcessor
4.事件驱动模型
- ApplicationListener:事件监听;
- ApplicationEventMulticaster:事件派发