1. bean创建一共有三大步骤, (实例化, 属性赋值, 初始化) 等到整个过程都创建完, 在存入一级缓存, 多线程怎么办?...什么时候, 去使用动态代理创建bean? 通常我们说在初始化之后, 调用bean的后置处理器创建bean. 这只是大多数bean创建动态代理的时候. 那如果有循环依赖呢?...有循环依赖, 还在初始化之后创建就晚了. 这是需要在实例化之后创建. 这样,动态代理的代码就和创建bean耦合在一块了. 违背单一性原则....定义接口函数, 也叫钩子函数
在循环依赖源码中, 两次使用到接口函数的方式.
第一个是创建bean的时候....* 在ios后期的过程中, 当bean调用了构造方法的时候, 把早期对象包装成一个ObjectFactory对象,暴露在三级缓存中