Spring容器總結

quguiliang 13年前發布 | 839 次閱讀

一、spring 容器主要分為兩類

 

      一類是Bean工廠(org.springframework,beans.factory.BeanFactory接口定義) 是最簡單的容器,提供了最基礎的依賴注入的支持,二是應用上下文(org.springframework.context.ApplicationContext接口定義)建產在BeanFactory之上的,提供了更多的系統構架服務,如從屬性文件中讀取文本信息,向有關的事件監聽器發布事件等。

 

BeanFactory

 

       BeanFactory的實現,最常用的是 org.springframework.bean.factory.xml.XmlBeanFactory,根據Xml文件中的定義來裝載Bean。XmlBeanFactory的創建可以通過任意一種Resource為實現;Resource常見的Resource實現有:ByteArrayResource、ClassPathResource、FileSystemResource等。

 

ApplicationContext

 

      ApplicationContext相對于BeanFactory來說的話,提供了更多的功能,1、提供了文本信息解析工具,包括對國際化(I18N)的支持;2、載入文件資源的通用方法,如載入圖片;3、向注冊為監聽器的Bean發送事件。

ApplicationContext的諸多實現中,經常使用的有三個:

 

1、ClassPathXmlApplicationContext              從類路徑中的xml文件載入上下文定義信息,把上下文定義文件當成類路徑資源。

 

2、FileSystemXmlApplicationContext             從文件系統中的XML文件載入上下文定義信息。

 

3、XMLWebApplicationContext                從Web系統中的XMl文件載入上下文定義信息。

 

二、BeanFactory與ApplicationContext的區別

 

      應用上下文與Bean工廠最本質的區別是關于單實例Bean的載入方式,BeanFactory延遲加載所有的Bean,直到getBean()方法被調用時,Bean才會被創建。應用上下文則會在上下文啟動后預載入所有的單實例Bean。通過預載入單實例Bean確保當需要使用的時候它們已經準備好了,從而不需要等待它們被創建。

 本文由用戶 quguiliang 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!