什么是 IOC ?

所有的对象的创建、销毁都由 spring来控制,也就是说控制对象生存周期的不再是引用它的对象,而是spring。对于某个具体的对象而言,以前是它控制其他对象,现在是所有对象都被spring控制,所以这叫控制反转。

IOC 的主要作用是什么?

     IOC 理论提出的观点大体是这样的:借助于“第三方”实现具有依赖关系的对象之间的解耦。

什么是控制反转?

对象 a 获得依赖对象 b 的过程,由主动行为变为了被动行为,控制权颠倒过来了,这就是“控制反转”这个名称的由来。

IOC  可以给我们带来什么好处?

    IOC 的思想最核心的地方在于,资源不由使用资源的双方管理,而由不使用资源的第三方管理。

        第一,资源集中管理,实现资源的可配置和易管理

        第二,降低了使用资源双方的依赖程度,也就是我们说的耦合度

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