Spring底层原理与源码

Bean生命周期步骤详情

  • UserService -> 推断构造方法 -> 普通对象 -> 依赖注入(给对象赋值) -> 初始化前(@PostConstruct) -> 初始化(afterPropertiesSet()) -> 初始化后(AOP) -> 代理对象 ->Map<beanName, Bean对象> : 单例池
    Bean实例化 -> JVM实例化
    Bean初始化 -> afterPropertiesSet()

事务

循环依赖和三级缓存

  • singletonObjects
    保存的是bean经过了完整的生命周期之后的一个bean对象
  • earlySingletonObjects
    在出现了循环依赖的情况下,某个bean(AServices)被循环依赖了,有可能会提前产生一个AServices的代理对象,存到二级缓存在去,保存单例
  • singletonFactories
    打破循环依赖,
posted @ 2023-05-15 14:16  你在学什么  阅读(17)  评论(0)    收藏  举报