什么是IoC?
IoC Inversion of control(控制反转/反转控制),它是一个技术思想,不是一个技术实现
描述的事情:java 开发中对象的创建、管理的问题
传统开发方式:直接使用new关键字创建对象
IoC思想下开发方式:我们不用自己再去new对象,而是由IoC容器(Spring框架)去帮助我们实例化对象并且管理它,我们需要使用哪个对象,去问IoC容器要即可
为什么叫作控制反转?
控制:指对象创建(实例化、管理)的权利
反转:控制权交由外部环境(Spring框架、IoC容器)
IoC解决了什么问题?
对象之间的耦合问题
Ioc和DI的区别?
DI:Dependancy Injection(依赖注入)
描述的是同一件事情,只不过角度不一样:
- IoC 是站在对象的角度,对象实例化及其管理的权利交给了容器
- DI 是站在容器的角度,会把对象依赖的其他对象注入
TODO 有待完善