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的实例。

依赖注入(DI)是一种设计模式,可以从编程代码中删除依赖,以便可以轻松管理和测试应用程序。依赖注入使我们的编程代码松散耦合。为了更好地理解DI,让我们首先了解依赖关系查找(DL):依赖关系查找依赖查找是一种在需求之后 ...