关于延时加载
通過前面我們對(duì)IOC 容器的實(shí)現(xiàn)和工作原理分析,我們已經(jīng)知道IOC 容器的初始化過程就是對(duì)Bean定義資源的定位、載入和注冊(cè),此時(shí)容器對(duì)Bean 的依賴注入并沒有發(fā)生,依賴注入主要是在應(yīng)用程序第一次向容器索取Bean 時(shí),通過getBean()方法的調(diào)用完成。
當(dāng)Bean 定義資源的<Bean>元素中配置了lazy-init=false 屬性時(shí),容器將會(huì)在初始化的時(shí)候?qū)λ渲玫腂ean 進(jìn)行預(yù)實(shí)例化,Bean 的依賴注入在容器初始化的時(shí)候就已經(jīng)完成。這樣,當(dāng)應(yīng)用程序第一次向容器索取被管理的Bean 時(shí),就不用再初始化和對(duì)Bean 進(jìn)行依賴注入了,直接從容器中獲取已經(jīng)完成依賴注入的現(xiàn)成Bean,可以提高應(yīng)用第一次向容器獲取Bean 的性能。
?
總結(jié)
- 上一篇: IOC 容器中那些鲜为人知的细节
- 下一篇: 延时加载refresh()方法