IOC:[Inverse of Controller]:控制反转-解决了:上层建筑依赖下层建筑的弊端!

Spring的重要概念 IOC与DI

 

Spring的重要概念 IOC与DI

万一,这里我们需要改动一下轮子的大小,想让它变为多大就多大?那这里我们需要改动:

Spring的重要概念 IOC与DI

由于每个组件都需要依赖于下层的每个组件,这里仅仅是为了修改轮胎的size大小,我们这里就要修改所有上层类的构造函数,在实际开发中,这样的设计几乎就是不可维护的。在实际工程中,可能一个类是几十个类的底层,如果我们修改一个类就要修改上层的所有类,那这就不是秃头可以解决问题的了?

 

此时不妨我们换一种思路:先设计行李箱的大体样子,然后再设计箱体…,最后装配成功

Spring的重要概念 IOC与DI

这时候我们发现依赖关系相对于前面的倒置过来了,轮子依赖于底盘,底盘依赖于箱体,箱体则依赖于行李箱,这时候再需要改动轮子大小,我们只需要改动【换掉】轮子的设计即可!这就避免了,上层建筑严重依赖下层建筑的一种现象,及实现上层建筑对下层建筑的控制,实现方式就是解耦合,不需要硬编码的方式new一个对象了,取而代之的方式就是在需要的地方引入即可!【当然,这里我们要用到这个容器】

Spring的重要概念 IOC与DI

当然上面这些行李箱、箱体、底盘、轮子等对象就是放到上述容器中,用到的时候直接取过来就用即可!这个容器就是spring的容器

 

总而言之,言而总之:spring的ioc指的是将bean对象的创建方式及bean对象之间的依赖关系的维护反转,由原来我们自己手动创建bean对象,以及维护bean对象的依赖关系反转成由spring的核心容器来帮我们创建bean对象以及维护bean对象之间的依赖关系,我们只需要在spring的配置文件中配置一下该类的描述!

 

Spring IOC 图解

Spring的重要概念 IOC与DI

 

 

相关文章: