IOC(Inversion Of Controll,控制反转)是一种设计思想,就是将原本在程序中手动创建对
象的控制权,交由给Spring框架来管理。IOC在其他语言中也有应用,并非Spring特有。IOC
容器是Spring用来实现IOC的载体,IOC容器实际上就是一个Map(key, value),Map中存放
的是各种对象。
将对象之间的相互依赖关系交给IOC容器来管理,并由IOC容器完成对象的注入。这样可以很
大程度上简化应用的开发,把应用从复杂的依赖关系中解放出来。IOC容器就像是一个工厂一
样,当我们需要创建一个对象的时候,只需要配置好配置文件/注解即可,完全不用考虑对象是
如何被创建出来的。在实际项目中一个Service类可能由几百甚至上千个类作为它的底层,假
如我们需要实例化这个Service,可能要每次都搞清楚这个Service所有底层类的构造函数,这
可能会把人逼疯。如果利用IOC的话,你只需要配置好,然后在需要的地方引用就行了,大大
增加了项目的可维护性且降低了开发难度。
Spring时代我们一般通过XML文件来配置Bean,后来开发人员觉得用XML文件来配置不太
好,于是Sprng Boot注解配置就慢慢开始流行起来。
《谈谈对Spring IOC的理解》:https://www.cnblogs.com/xdp-gacl/p/4249939.html
《怎么回答面试官:你对Spring的理解?》:https://www.zhihu.com/question/48427693?sort=created