Spring中IOC和Di
IOC(控制反转)
DI(依赖注入)
引入
当前现状:耦合度过高
为了降低耦合度的问题,得出一个想法,就是将创建对象的权力提交到外部容器中,有外部创建对象
也就是:创建对象时,程序不要主动使用new产生对象,而是变为有外部提供对象
IOC控制反转
概述
对象的创建控制权有程序转移到外部,这种思想称为控制反转
使用对象时,由主动new产生对象转换为由外部提供对象,此过程中对象创建控制权由程序转移到外部,此思想称为控制反转。通俗的讲就是“将new对象的权利交给Spring,我们从Spring中获取对象使用即可”
Spring将这种思想实现
1.Spring提供了一个容器,称为IOC容器,也叫spring容器,用来充当IOC思想中的外部.
2.IOC容器负责对象的创建\初始化等一系列工作,被创建或被管理的对象在IOC容器中统称为Bean.
DI依赖注入
概述
在容器中建立baan与bean之间的依赖关系的整个过程,称为依赖注入
目的
充分解耦
1.使用IOC容器管理bean
2.在IOC容器内将有依赖关系的bean进行关系绑定
效果
使用对象时不仅可以直接从IOC容器中获取,并且获得的bean已将绑定所有的依赖关系