BeanFactory和ApplicationContext對比-創(chuàng)新互聯(lián)

BeanFactory和ApplicationContext對比

BeanFactory和ApplicationContext是Spring的兩大核心接口,都可以當做Spring的容器。其中 ApplicationContext是BeanFactory的子接口。

公司主營業(yè)務:成都網站制作、網站設計、移動網站開發(fā)等業(yè)務。幫助企業(yè)客戶真正實現(xiàn)互聯(lián)網宣傳,提高企業(yè)的競爭能力。成都創(chuàng)新互聯(lián)公司是一支青春激揚、勤奮敬業(yè)、活力青春激揚、勤奮敬業(yè)、活力澎湃、和諧高效的團隊。公司秉承以“開放、自由、嚴謹、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領域給我們帶來的挑戰(zhàn),讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。成都創(chuàng)新互聯(lián)公司推出云龍免費做網站回饋大家。

BeanFactory:是Spring里面最底層的接口,包含了各種Bean的定義,讀取bean配置文檔,管理 bean的加載、實例化,控制bean的生命周期,維護bean之間的依賴關系。

ApplicationContext接口作為BeanFactory的派生,除了提供BeanFactory所具有的功能外,還提供了更完整的框架功能:

  • 繼承MessageSource,因此支持國際化。
  • 統(tǒng)一的資源文件訪問方式。
  • 提供在監(jiān)聽器中注冊bean的事件。
  • 同時加載多個配置文件。
  • 載入多個(有繼承關系)上下文 ,使得每一個上下文都專注于一個特定的層次,比如應用的web 層

BeanFactroy采用的是延遲加載形式來注入Bean的,即只有在使用到某個Bean時(調用 getBean()),才對該Bean進行加載實例化。這樣,我們就不能發(fā)現(xiàn)一些存在的Spring的配置問題。 如果Bean的某一個屬性沒有注入,BeanFacotry加載后,直至第一次使用調用getBean方法才會拋 出異常。

ApplicationContext,它是在容器啟動時,一次性創(chuàng)建了所有的Bean。這樣,在容器啟動時,我們 就可以發(fā)現(xiàn)Spring中存在的配置錯誤,這樣有利于檢查所依賴屬性是否注入。 ApplicationContext 啟動后預載入所有的單實例Bean,通過預載入單實例bean ,確保當你需要的時候,你就不用等待, 因為它們已經創(chuàng)建好了。

相對于基本的BeanFactory,ApplicationContext 唯一的不足是占用內存空間。當應用程序配置 Bean較多時,程序啟動較慢。

BeanFactory通常以編程的方式被創(chuàng)建,ApplicationContext還能以聲明的方式創(chuàng)建,如使用 ContextLoader。

BeanFactory和ApplicationContext都支持BeanPostProcessor、BeanFactoryPostProcessor的使 用,但兩者之間的區(qū)別是:BeanFactory需要手動注冊,而ApplicationContext則是自動注冊。

你是否還在尋找穩(wěn)定的海外服務器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準確流量調度確保服務器高可用性,企業(yè)級服務器適合批量采購,新人活動首月15元起,快前往官網查看詳情吧

文章名稱:BeanFactory和ApplicationContext對比-創(chuàng)新互聯(lián)
鏈接分享:http://www.muchs.cn/article28/diehcp.html

成都網站建設公司_創(chuàng)新互聯(lián),為您提供App設計、關鍵詞優(yōu)化、搜索引擎優(yōu)化、虛擬主機自適應網站、網站導航

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

網站托管運營