1. 程式人生 > >spring源碼學習中的知識點

spring源碼學習中的知識點

學習 pos pri proto 創建 except 完成 bean 容器

一、循環依賴

循環依賴就是循環引用,就是兩個或多個bean之間互相持有對方。

1.構造器循環依賴

表示通過構造器註入造成的循環依賴,此依賴是無法解決的,只能拋出BeanCurrentlyInCreationException異常表示循環依賴。

2.setter循環依賴

對於setter註入造成的依賴是通過spring容器提前暴露剛完成構造器註入但未完成其他步驟(如setter註入)的bean來完成的,而且只能解決singleton單例作用域的bean循環依賴。

3.prototype範圍的依賴處理

對於“prototype”作用域bean,spring容器無法完成依賴註入,因為spring容器無法緩存prototype作用域的bean,因此無法提前暴露一個創建中的bean。

spring源碼學習中的知識點