Bean初始化
spring的Ioc容器根據(jù)XML配置文件來(lái)初始化Bean.需要注意的一點(diǎn)是,ApplicationContext初始化Bean和基
本的BeanFactory有所不同,基本的BeanFactory總是延遲加載Bean,直到第一次調(diào)用getBean("BeanId")方法
請(qǐng)求Bean實(shí)例時(shí),BeanFactory才會(huì)創(chuàng)建這個(gè)Bean,而ApplicationContext在自身初始化時(shí)就一次性創(chuàng)建了
所有的Bean,了解這一點(diǎn)是非常重要的,因?yàn)锳pplicationContext在初始化時(shí)就能驗(yàn)證XML配置文件的正確性.
而使用BeanFactory,直到調(diào)用getBean("BeanId")方法獲取Bean實(shí)例時(shí),才可能會(huì)發(fā)現(xiàn)配置錯(cuò)誤而導(dǎo)致拋出
異常.
只有在非常簡(jiǎn)單的情況下,使用基本的BeanFactory才可能滿(mǎn)足我們的需求.絕大多時(shí)候我們使用
ApplicationContext是最佳的選擇.在啟動(dòng)的時(shí)候就能檢測(cè)配置文件的錯(cuò)誤,這比使用基本的BeanFactory
在運(yùn)行一段時(shí)間后調(diào)用getBean("BeanId")拋出異常要好得多.并且,延遲加載會(huì)帶來(lái)性能上的損失.
ApplicationContext由于在啟動(dòng)時(shí)需要一次性別實(shí)例化所有的Bean,如果定義的Bean比較多,則啟動(dòng)的時(shí)間
會(huì)比較長(zhǎng).
posted on 2007-10-21 12:24
Ke 閱讀(1398)
評(píng)論(1) 編輯 收藏 所屬分類(lèi):
spring