国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Spring技術核心內幕 讀書筆記--IOC容器的實現小結

2019-11-14 08:46:12
字體:
來源:轉載
供稿:網友

SPRing技術核心內幕 讀書筆記 –IOC容器的實現小結

BeanDefinition的定位。對IOC容器來說,它為管理POJO之間的以來關系提供了幫助,但也要依據Spring的定義規則提供Bean定義信息。我們可以使用各種形式的Bean定義信息,其中比較熟悉和常用的是使用xml文件格式。在Bean定義方面,Spring為用戶提供了很大的靈活性。在初始化Ioc的過程中,首先需要定位到這些有效的bean定義信息,這里Spring使用Resource接口來統一這些Bean定義信息,而這個定位由ResourceLoader來完成。

容器的初始化。在使用上下文時,需要對它進行一個初始化的過程,完成初始化之后,這個容器才可以使用。容器的初始化入口是refresh方法(根據具體使用的applicationContext不同)。refresh調用BeanDefinition來完成bean信息的載入和注冊,但是不完成以來注入,除非配置了lazy-init的屬性。否則依賴注入在第一次getBean的時候調用注冊。

這里涉及到一個循環引用(Circular Reference)的問題。

如果A依賴B,并且B依賴A.但兩個類的方法沒有互相調用。 * 如果使用的是Constructor依賴,那么就會拋出Is there an unresolvable circular reference?的錯誤 * 如果使用是setter方法注入依賴,那么依賴注入是分開的,當需要的時候才會注入。就不會拋出來循環引用的異常。 * 如果是A和B之中的方法還有互相調用,雖然不會拋出來循環引用的異常,但是會拋出棧溢出的異常。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 南陵县| 安阳县| 廉江市| 卢龙县| 龙江县| 独山县| 且末县| 定西市| 洛南县| 陕西省| 辽宁省| 祁连县| 湄潭县| 衡南县| 布拖县| 新龙县| 吴江市| 田阳县| 内丘县| 平阴县| 皋兰县| 玛纳斯县| 塔河县| 巴东县| 夹江县| 汉阴县| 河源市| 临高县| 永丰县| 赣榆县| 民勤县| 茶陵县| 庄河市| 信宜市| 贵州省| 海门市| 石景山区| 栾川县| 张家港市| 三门县| 滦南县|