Spring教程-IoC容器
IoC容器负责实例化、配置和组装对象。IoC容器从XML文件中获取信息,并相应地进行处理。IoC容器执行的主要任务包括:
- 实例化应用程序类
- 配置对象
- 组装对象之间的依赖关系
有两种类型的IoC容器:
- BeanFactory
- ApplicationContext
BeanFactory和ApplicationContext之间的区别
org.springframework.beans.factory.BeanFactory和org.springframework.context.ApplicationContext接口都充当了IoC容器的角色。ApplicationContext接口是建立在BeanFactory接口之上的。它比BeanFactory添加了一些额外的功能,例如与Spring的AOP简单集成、消息资源处理(用于国际化)、事件传播、应用程序层特定的上下文(例如WebApplicationContext)用于Web应用程序。因此,建议使用ApplicationContext而不是BeanFactory。
使用BeanFactory
XmlBeanFactory是BeanFactory接口的实现类。要使用BeanFactory,我们需要创建XmlBeanFactory类的实例,如下所示:
Resource resource = **new** ClassPathResource("applicationContext.xml");
BeanFactory factory = **new** XmlBeanFactory(resource);
XmlBeanFactory类的构造函数接收Resource对象,因此我们需要将Resource对象传递给BeanFactory的构造函数来创建BeanFactory的实例。
使用ApplicationContext
ClassPathXmlApplicationContext类是ApplicationContext接口的实现类。我们需要实例化ClassPathXmlApplicationContext类以使用ApplicationContext,如下所示:
ApplicationContext context =
**new** ClassPathXmlApplicationContext("applicationContext.xml");
ClassPathXmlApplicationContext类的构造函数接收字符串参数,因此我们可以传递xml文件的名称来创建ApplicationContext的实例。