spring容器能夠簡單理解爲生產對象的地方,spring容器把對象鏈接在一塊兒、管理對象的生命週期經過閱讀配置元數據提供的指令,容器知道對哪些對象進行實例化,配置和組裝。配置元數據能夠經過 XML,Java 註釋或 Java 代碼來表示。web
BeanFactory和ApplicationContext是Spring的兩大核心接口,而其中ApplicationContext是BeanFactory的子接口。它們均可以當作Spring的容器。Application Context 是 spring 中較高級的容器。和 BeanFactory 相似,它能夠加載配置文件中定義的 bean,將全部的 bean 集中在一塊兒,當有請求的時候分配 bean。 另外,它增長了企業所須要的功能,好比,從屬性文件中解析文本信息和將事件傳遞給所指定的監聽器。spring
最常被使用的 ApplicationContext 接口實現:spa
FileSystemXmlApplicationContext:該容器從 XML 文件中加載已被定義的 bean。在這裏,你須要提供給構造器 XML 文件的完整路徑。code
ApplicationContext context = new FileSystemXmlApplicationContext ("C:/Users/Beans.xml");
ClassPathXmlApplicationContext:該容器從 XML 文件中加載已被定義的 bean。在這裏,你不須要提供 XML 文件的完整路徑,只需正確配置 CLASSPATH 環境變量便可,由於,容器會從 CLASSPATH 中搜索 bean 配置文件。xml
ApplicationContext ac=new ClassPathXmlApplicationContext("spring-config.xml");