Spring框架的主要功能是經過其核心容器來實現的。Spring提供了2種核心容器:BeanFactory、ApplicationContext。app
BeanFactory是一個管理Bean的工廠,主要負責初始化各類Bean,並調用它們的聲明週期方法。框架
BeanFactory由BeanFactory接口定義。BeanFactory接口的經常使用實現類:XmlBeanFactory類。ui
建立一個BeanFactory的實例:spa
1 Resource resource=new FileSystemResource("D:/test/src/applicationContext.xml"); 2 BeanFactory beanFactory=new XmlBeanFactory(resource);
建立一個Spring容器,並使用xml配置文件來初始化容器。參數是Resource類型,指定容器的配置文件。code
由於要使用絕對路徑,不方便程序移植,不推薦使用。xml
ApplicationContext是BeanFactory的子接口,被稱爲應用上下文。除了有BeanFactory的所有功能,還提供了對國際化、資源訪問、事件傳播等的支持,常常用這個。blog
ApplicationContext接口有2個經常使用的實現類:接口
建立示例:事件
1 ApplicationContext applicationContext=new ClassPathXmlApplicationContext("applicationContext.xml");
1 FileSystemXmlApplicationContext applicationContext=new FileSystemXmlApplicationContext("D:/test/src/applicationContext.xml");
BeanFactory和ApplicationContext都是經過xml配置文件加載Bean的,兩者的主要區別:資源
通常都是優先選擇使用ApplicationContext,資源較少時才考慮使用BeanFactory。
建立Spring容器後,就能夠獲取容器中的Bean了: