文章目錄
- 一、原始與工廠模式
- 二、IOC模式
- 三、IOC容器在Spring中的實作
-
- ①BeanFactory
- ②ApplicationContext
- ③ApplicationContext的主要實作類
一、原始與工廠模式
二、IOC模式
三、IOC容器在Spring中的實作
IOC 思想基于 IOC 容器完成,IOC 容器底層就是對象工廠
①BeanFactory
- 這是 IOC 容器的基本實作,是 Spring 内部使用的接口。面向 Spring 本身,不提供給開發人員使用。
- 加載配置檔案時候不會建立對象,在擷取對象(使用)才去建立對象
②ApplicationContext
- BeanFactory 的子接口,提供了更多進階特性。面向 Spring 的使用者,幾乎所有場合都使用 ApplicationContext 而不是底層的 BeanFactory。
- 以後在 Spring 環境下看到一個類或接口的名稱中包含 ApplicationContext,那基本就可以斷定,這個類或接口與 IOC 容器有關。
- 加載配置檔案時候就會把在配置檔案對象進行建立
③ApplicationContext的主要實作類
類型名 | 簡介 |
---|---|
ClassPathXmlApplicationContext | 通過讀取類路徑下的 XML 格式的配置檔案建立 IOC 容器對象 |
FileSystemXmlApplicationContext | 通過檔案系統路徑讀取 XML 格式的配置檔案建立 IOC 容器對象 |
ConfigurableApplicationContext | ApplicationContext 的子接口,包含一些擴充方法 refresh() 和 close() ,讓 ApplicationContext 具有啟動、關閉和重新整理上下文的能力。 |
WebApplicationContext | 專門為 Web 應用準備,基于 Web 環境建立 IOC 容器對象,并将對象引入存入 ServletContext 域中。 |