IOC?

1.什么是IOC?

即控制反转,在传统的程序设计,我们直接在对象内部通过 new 来创建对象,是程序主动去创建依赖对象;而在 Spring 中有专门的一个容器来创建和管理这些对象,并将对象依赖的其他对象注入到该对象中,这

个容器我们一般称为 IoC 容器

2.谁控制谁,控制什么

当然是Ioc容器来控制对 象的创建.

控制什么?那就是主要控制了外部资源获取(不只是对象包括比如文件等)。

3.IOC能做什么?

IoC对编程带来的最大改变不是从代码上,而是从思想上,发生了“主从换位”的变化。应用程序原本是老大,要获取什么资源都是主动出击,但是在IoC/DI思想中,应用程序就变成被动的了,被动的等待IoC容器来创建并注入它所需要的资源了。

DI

什么是DI?

也就是依赖注入,依赖注入是指组件之间的依赖关系由容器在运行期决定,形象的说,即由容器动态的将某个依赖关系注入到组件之中。

●谁依赖于谁:当然是应用程序依赖于IoC容器;

●为什么需要依赖:应用程序需要IoC容器来提供对象需要的外部资源;

●谁注入谁:很明显是IoC容器注入应用程序某个对象,应用程序依赖的对象;

●注入了什么:就是注入某个对象所需要的外部资源(包括对象、资源、常量数据)。

 

IOC和DI有什么关系

 

宏观上说两个是一样的,DI是IOC的具体功能的实现。而IOC则是DI发挥的平台和空间。

 

SpringIOC源码的三个关键步骤

定位:定位配置文件和扫描相关的注解。

加载:将配置信息载入到内存中

注册:根据载入的信息,将对象初始化到IOC容器。

最后都会保存在BeanDefinition里面Map

SpringIOC、DI

相关文章:

  • 2022-12-23
  • 2021-08-23
  • 2022-01-19
  • 2021-11-03
  • 2022-01-23
  • 2021-04-25
猜你喜欢
  • 2022-02-05
  • 2021-06-18
  • 2021-07-29
  • 2021-05-25
  • 2021-05-08
  • 2021-06-07
相关资源
相似解决方案