根据源码步骤整理出来的Spring加载流程,从AnnotationConfigApplicationContext开始
public AnnotationConfigApplicationContext(Class<?>... componentClasses) {
//加载初始化文件
this();
//注册配置类
register(componentClasses);
//IOC容器刷新接口
refresh();
}
具体的步骤见流程图:

创建bean的生命周期,这里用到了三级缓存解决循环依赖,在对象创建填充前后用到了后置处理器。修饰对象用到修饰器模式。











