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了: