IOC (Inversion Of Control)
Spring IOC 的核心是控制反转
1.谁控制谁?
传统的Java SE程序设计,我们要使用对象,需要在对象内部通过new 进行创建对象,是程序主动的去创建依赖对象;
IOC 是使用专门的容器来控制对象的创建。
IOC容器控制对象
2.控制什么?
控制 对象的生成和 注入对象到调用者。
3.控制反转
正转:对象主动控制直接去获取依赖项
反转:容器来创建和注入依赖项
IOC帮对象找相应的依赖项并注入,并不是由对象主动去找
DI (Dependency Injection) 依赖注入
1.谁依赖谁?
依赖与 IOC 容器
2.依赖什么?
应用程序需要 IOC 容器来提供对象需要的依赖项
3.谁注入谁?
IOC 容器注入对象
4.注入什么?
注入对象所需要的依赖项(对象、资源、常量数据)