“Spring 循环依赖”的版本间的差异
		
		
		
		
		
		跳到导航
		跳到搜索
		
				
		
		
	
Jihongchang(讨论 | 贡献)  | 
				Jihongchang(讨论 | 贡献)   | 
				||
| 第22行: | 第22行: | ||
=== 实例化和初始化 ===  | === 实例化和初始化 ===  | ||
| − | 实例化是:A a = new A();  | + | 实例化是:A a = new A(); 的过程  | 
| − | 初始化是:在实例化后调用 a.setB();  | + | 初始化是:在实例化后调用 a.setB(); 的过程  | 
=== 三级缓存结构 ===  | === 三级缓存结构 ===  | ||
2024年7月15日 (一) 02:40的版本
什么是循环依赖
public class A {
    private B b;
    
    public void setB(B b){
        this.b = b;
    }
}
public class B {
    private A a;
    public void setA(A a){
        this.a = a;
    }
}
首先
在实际开发中应该尽量避免循环依赖
实例化和初始化
实例化是:A a = new A(); 的过程
初始化是:在实例化后调用 a.setB(); 的过程
三级缓存结构
第一级缓存:保存完成实例化的对象
第二季缓存:保存完成初始化的对象或代理对象
第三层缓存:保存对象工厂