spring知识点1-Spring IOC
2021-03-19 本文已影响0人
那钱有着落吗
![](https://img.haomeiwen.com/i8553141/f68c0540859ec5a1.png)
一、什么是DI?
![](https://img.haomeiwen.com/i8553141/c3696299b55f3650.png)
![](https://img.haomeiwen.com/i8553141/bb2d8406f03435cf.png)
这里举了一个简单的例子,假如行李箱的设计依赖箱体,箱体依赖于底盘的设计,底盘的设计依赖于轮子的大小,那么如果轮子尺寸改了,整个行李箱就要重新设计了,使用代码来演示就是上图的样子。
![](https://img.haomeiwen.com/i8553141/cc15093138f96223.png)
![](https://img.haomeiwen.com/i8553141/fea5786bd676708c.png)
二、IOC、DI、IOC容器的关系
![](https://img.haomeiwen.com/i8553141/dd21df0f55296706.png)
![](https://img.haomeiwen.com/i8553141/2b06c94c8b428725.png)
![](https://img.haomeiwen.com/i8553141/de925e1a75c1b2bb.png)
![](https://img.haomeiwen.com/i8553141/1ab38780c88ffcb1.png)
![](https://img.haomeiwen.com/i8553141/a09cabcccb86806d.png)
总结:
IOC的含义就是控制反转,控制反转就是将原来的上层建筑依赖下层建筑给反转过来,下层建筑依赖上层建筑,这样的话就可以实现上层对于下层的控制,使得程序开发变得更加可控方便。
IOC最重要的就是DI,依赖注入,这个我们经常用到,我们需要了解的是他背后的原理,依赖注入逻辑上就是查询需要依赖的对象然后加载进来,原理则是需要用到IOC Container,首先Spring会从上往下的以此找清除依赖关系,然后呢在从下往上的挨个注入,完成依赖注入,而在程序中我们仅仅一两行代码就完成了。