最近正在重讀《spring in action》一書,把里面的知識(shí)點(diǎn)再回顧一遍。
beanfactory是一個(gè)頂層接口,是最基本的bean容器。spring使用beanfactory來生成,配置和管理bean。
applicationcontext是beanfactory的子類,它比beanfactory提供了更加豐富的功能。
平時(shí)常用的bean容器還有3個(gè),它們都是applicationcontext
的子類,如圖所示。classpathxmlapplicationcontext
主要用在在類路徑加載xml文件的場(chǎng)景,filesystemxmlapplicationcontext
主要用在在文件系統(tǒng)加載xml文件的場(chǎng)景,xmlwebapplicationcontext
主要用在在web中加載xml文件的場(chǎng)景。
beanfactory和applicationcontext在bean加載方面有什么不同呢?
beanfactory是延遲加載。beanfactory初始化完成后,并不加載任何bean,只有在第一次獲取bean時(shí),beanfactory才會(huì)加載該bean。而applicationcontext會(huì)在啟動(dòng)后主動(dòng)加載好單例bean,這樣,從applicationcontext中獲取bean時(shí)效率更高。
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)服務(wù)器之家的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接
原文鏈接:https://blog.csdn.net/li_canhui/article/details/85191943