IOC容器是什么

地表温度2023-02-01  25

IOC容器:Ioc—Inversion of Control,即“控制反转”,就是具有依赖注入功能的容器,是可以创建对象的容器,IOC容器负责实例化、定位、配置应用程序中的对象及建立这些对象间的依赖。

IoC 的全称叫做 Inversion of Control,可翻译为为「控制反转」或「依赖倒置」,它主要包含了三个准则:

1、高层次的模块不应该依赖于低层次的模块,它们都应该依赖于抽象;

2、抽象不应该依赖于具体实现,具体实现应该依赖于抽象;

3、面向接口编程 而不要面向实现编程。

扩展资料

Spring 提供了许多 IOC 容器

的实现。比如 XmlBeanFactory,ClasspathXmlApplicationContext 等。其中 XmlBeanFactory 就 是针对最基本的IOC 容器的实现,这个 IOC 容器可以读取XML 文件定义的 BeanDefinition(XML 文件中对 bean 的描述)。

ApplicationContext 是 Spring 提供的一个高级的 IOC 容器,它除了能够提供 IOC 容器的基本功

能外,还为用户提供了以下的附加服务。

参考资料来源:百度百科-IOC

使用过 Spring 的同学应该都接触过 BeanFactory 和 ApplicationContext,其实它们就可以看做 Spring IoC 容器的具体表现形式,了解这两者的区别与联系对于我们理解和使用 IoC 容器是比较重要的。我们先来看一下 IoC 容器的接口设计图:

下面我们来对这张接口设计图做一下解析:

我们通过以上的接口设计图跟分析可以看出,整个 Spring IoC 容器就是以 BeanFactory 和 ApplicationContext 作为核心的。BeanFactory 定义了 IoC 容器的基本功能,而 ApplicationContext 体系则在 BeanFactory 基础上通过继承其他接口来实现高级容器特征。下面我们来看一下这两个体系的应用场景:

到此为止,我们大概了解了 IoC 容器的概念跟 Spring 中对于 IoC 容器的设计跟应用,之后我们要详细的分析 IoC 容器的初始化、依赖注入跟其他相关特征的设计与实现等。


转载请注明原文地址:https://juke.outofmemory.cn/read/2859041.html

最新回复(0)