天天看點

IOC容器底層原理一、原始與工廠模式二、IOC模式三、IOC容器在Spring中的實作

文章目錄

  • 一、原始與工廠模式
  • 二、IOC模式
  • 三、IOC容器在Spring中的實作
    • ①BeanFactory
    • ②ApplicationContext
    • ③ApplicationContext的主要實作類

一、原始與工廠模式

IOC容器底層原理一、原始與工廠模式二、IOC模式三、IOC容器在Spring中的實作

二、IOC模式

IOC容器底層原理一、原始與工廠模式二、IOC模式三、IOC容器在Spring中的實作

三、IOC容器在Spring中的實作

IOC 思想基于 IOC 容器完成,IOC 容器底層就是對象工廠

①BeanFactory

  • 這是 IOC 容器的基本實作,是 Spring 内部使用的接口。面向 Spring 本身,不提供給開發人員使用。
  • 加載配置檔案時候不會建立對象,在擷取對象(使用)才去建立對象

②ApplicationContext

  • BeanFactory 的子接口,提供了更多進階特性。面向 Spring 的使用者,幾乎所有場合都使用 ApplicationContext 而不是底層的 BeanFactory。
  • 以後在 Spring 環境下看到一個類或接口的名稱中包含 ApplicationContext,那基本就可以斷定,這個類或接口與 IOC 容器有關。
  • 加載配置檔案時候就會把在配置檔案對象進行建立

③ApplicationContext的主要實作類

IOC容器底層原理一、原始與工廠模式二、IOC模式三、IOC容器在Spring中的實作
類型名 簡介
ClassPathXmlApplicationContext 通過讀取類路徑下的 XML 格式的配置檔案建立 IOC 容器對象
FileSystemXmlApplicationContext 通過檔案系統路徑讀取 XML 格式的配置檔案建立 IOC 容器對象
ConfigurableApplicationContext ApplicationContext 的子接口,包含一些擴充方法 refresh() 和 close() ,讓 ApplicationContext 具有啟動、關閉和重新整理上下文的能力。
WebApplicationContext 專門為 Web 應用準備,基于 Web 環境建立 IOC 容器對象,并将對象引入存入 ServletContext 域中。