Spring IoC容器



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的简单集成,消息资源处理(用于I18N),事件传播,Web应用程序的特定于应用程序层的上下文(例如WebApplicationContext)。因此,使用ApplicationContext比使用BeanFactory更好。

使用BeanFactory

XmlBeanFactory是BeanFactory接口的实现类。要使用BeanFactory,我们需要创建XmlBeanFactory类的实例,如下所示:
Resource resource=new ClassPathResource("applicationContext.xml");
BeanFactory factory=new XmlBeanFactory(resource);

XmlBeanFactory类的构造函数接收Resource对象,因此我们需要传递该资源对象来创建BeanFactory对象。

使用ApplicationContext

ClassPathXmlApplicationContext类是ApplicationContext接口的实现类。我们需要实例化ClassPathXmlApplicationContext类以使用ApplicationContext,如下所示:
ApplicationContext context = 
    new ClassPathXmlApplicationContext("applicationContext.xml");

ClassPathXmlApplicationContext类的构造函数接收字符串,因此我们可以传递xml文件的名称来创建ApplicationContext的实例。