Spring ApplicationContext 和WebApplicationContext 區別

WebApplicationContext  繼承了ApplicationContext接口,是ApplicationContext的擴展,它增加了WEB應用特性,還可以視圖解析、主題解析、映射,通過ServletContext與servlet關聯 ,WebApplicationContext被綁定在ServletContext上(通過ContextLoaderListener綁定),可以通過RequestContextUtils獲取WebApplicationContext。

ApplicationContext 是 spring 中較高級的容器。和 BeanFactory 類似,它可以加載配置文件中定義的 bean,將所有的 bean 集中在一起,當有請求的時候分配 bean。 另外,它增加了企業所需要的功能,比如,從屬性文件從解析文本信息和將事件傳遞給所指定的監聽器。這個容器在 org.springframework.context.ApplicationContext interface 接口中定義。
ApplicationContext 包含 BeanFactory 所有的功能,一般情況下,相對於 BeanFactory,ApplicationContext 會被推薦使用。BeanFactory 仍然可以在輕量級應用中使用,比如移動設備或者基於 applet 的應用程序。
最常被使用的 ApplicationContext 接口實現:
FileSystemXmlApplicationContext:該容器從 XML 文件中加載已被定義的 bean。在這裏,你需要提供給構造器 XML 文件的完整路徑
ClassPathXmlApplicationContext:該容器從 XML 文件中加載已被定義的 bean。在這裏,你不需要提供 XML 文件的完整路徑,只需正確配置 CLASSPATH 環境變量即可,因爲,容器會從 CLASSPATH 中搜索 bean 配置文件。
WebXmlApplicationContext:該容器會在一個 web 應用程序的範圍內加載在 XML 文件中已被定義的 bean。
發佈了73 篇原創文章 · 獲贊 13 · 訪問量 10萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章