SpringIOC概念即作用
1.什么是IOC?
Ioc—Inversion of Control,即“控制反转”,一种设计思想。
控制什么?那就是主要控制了外部资源获取(不只是对象包括比如文件等)
IOC有专门的一个容器来创建这些对象、即用IOC容器来控制对象的创建。
2.IOC能做什么?
IOC容器:把创建和查找依赖对象的控制权交给了容器,由容器进行注入组合对象,所以对象与对象之间是 松散耦合,这样也方便测试,利于功能复用,更重要的是使得程序的整个体系结构变得非常灵活。
IOC的带来的最大改变不是在代码上,而是在思想上。发生了 "主从换位" 的变化
IOC容器帮对象找相应的依赖对象并注入,而不是由对象主动去找。
3.IOC和DI的区别
DI—Dependency Injection,即“依赖注入”
理解DI的关键是:“谁依赖谁,为什么需要依赖,谁注入谁,注入了什么”
谁依赖谁?当然是应用程序依赖于IOC容器
为什么需要依赖?应用程序需要IOC容器来提供对象需要的外部资源
谁注入谁?是IoC容器注入应用程序某个对象,应用程序依赖的对象
注入了什么?就是注入某个对象所需要的外部资源(对象、资源、常量数据)
依赖注入明确描述了:“被注入对象依赖IOC容器配置依赖对象”。