1. 程式人生 > >Spring的Bean容器都有哪些

Spring的Bean容器都有哪些

最近正在重讀《Spring In Action》一書,把裡面的知識點再回顧一遍。

BeanFactory是一個頂層介面,是最基本的Bean容器。Spring使用BeanFactory來生成,配置和管理Bean。

ApplicationContext是BeanFactory的子類,它比BeanFactory提供了更加豐富的功能。

平時常用的Bean容器還有3個,它們都是ApplicationContext的子類,如圖所示。ClassPathXmlApplicationContext主要用在在類路徑載入xml檔案的場景,FileSystemXmlApplicationContext主要用在在檔案系統載入xml檔案的場景,XMLWebApplicationContext主要用在在Web中載入xml檔案的場景。

BeanFactory和ApplicationContext在Bean載入方面有什麼不同呢?

BeanFactory是延遲載入。BeanFactory初始化完成後,並不載入任何Bean,只有在第一次獲取Bean時,BeanFactory才會載入該Bean。而ApplicationContext會在啟動後主動載入好單例Bean,這樣,從ApplicationContext中獲取Bean時效率更高。