Spring IOC(Inversion of Control) :控制反转

  • Spring Core最核心的部分
  • 了解它之前先来了解一下依赖注入(Dependency Inversion)

在了解DI之前,我们先来了解一下原始的设计,即上层建筑依赖下层建筑(以设计行李箱为例)

从依赖注入到Spring IOC(图文通俗易懂)

这样的设计看上没什么问题,但是可维护性极差。

假如根据市场变动轮子要改,那么底盘,箱体,行李箱都得改

我们可以通过代码来看一下这种上层建筑依赖下层建筑的致命之处

从依赖注入到Spring IOC(图文通俗易懂)

假如现在要动态修改轮子的大小

从依赖注入到Spring IOC(图文通俗易懂)

可以看到仅仅改边轮子大小这一小小需求,所有依赖的上层建筑都要发生改边,假如一个类的上层建筑是几千个类,那么这个类发生改边,带来的结果是奔溃的。于是便出现了依赖注入。

依赖注入(DI):把底层作为参数传递给上层类,实现上层对下层的”控制“。即通过控制反转,由原始的下层控制上层变成了上层控制下层

从依赖注入到Spring IOC(图文通俗易懂)

代码分析

从依赖注入到Spring IOC(图文通俗易懂)

此时轮子再进行变动时,对上层没有丝毫的影响

从依赖注入到Spring IOC(图文通俗易懂)

 

IOC:IOC是一种设计模式,是一种思想,而DI就好比是实现IOC的一种方式

从依赖注入到Spring IOC(图文通俗易懂)

因为采用了依赖注入,不可避免的是要频繁地使用new来创建对象

IOC容器的出现便是为了解决这个问题,通过IOC容器可以来管理大量的对象

bean是如何装载进IOC容器的

相关文章:

  • 2022-12-23
  • 2021-08-25
  • 2021-06-09
  • 2021-07-09
  • 2021-09-23
  • 2021-12-12
  • 2021-12-15
猜你喜欢
  • 2021-05-13
  • 2021-05-12
  • 2021-08-23
  • 2021-12-16
  • 2021-06-08
  • 2022-01-03
  • 2022-12-23
相关资源
相似解决方案