Bean工廠之BeanFactory介紹

來源:互聯網
上載者:User
Bean工廠之BeanFactory介紹

BeanFactory顧名思義是Bean工廠的意思,採用的是工廠設計模式。Bean工廠的神聖職責就是負責Bean執行個體的建立、Bean執行個體之間依賴關係的裝配及Bean執行個體的分發。這是Spring的核心技術之一,作為工廠,"看圖生產"是必不可少的,同理,我們必須為Bean工廠提供一份"生產圖紙"用於指導生產,這就是前面提到的Spring的設定檔(如applicationContext.xml),Spring並未規定設定檔的命名及數量,起什麼名字都行,多個設定檔也可以。Spring容器在執行個體化時就會裝載這些設定檔,並進行"看圖生產"。

基於"面向介面編程"的指導思想,BeanFactory被定義為介面,XmlBeanFactory是BeanFactory介面最常用的實作類別。XmlBeanFactory通過裝載指定的XML設定檔執行個體化BeanFactory容器。例如:

 
  1. //通過裝載指定的XML設定檔執行個體化BeanFactory容器  
  2. Resource res = new FileSystemResource("c:/applicationContext.xml");  
  3. BeanFactory factory = new XmlBeanFactory(res);  
  4. //從Bean工廠容器中擷取名為"userAction"的UserAction執行個體  
  5. userAction = (UserAction)factory.getBean("userAction"); 

BeanFactory容器執行個體化之後,我們就可以使用getBean方法從BeanFactory容器中擷取裝配好的Bean執行個體了。

SpringTeam Dev在設計Spring時,考慮到一些受限資源的應用場合,譬如PDA裝置上的Java應用等,故特意將BeanFactory容器儘可能地精簡,以減少資源的消耗。但對於那些需要國際化支援、Bean事件發布與監聽的應用來講,BeanFactory顯然有點力不從心了。於是通過繼承BeanFactory介面,又建立了ApplicationContext與WebApplicationContext等子介面,用以滿足Java EE應用的開發。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.