Spring源码系列-IOC与DI 1.1

�IOC概要

控制反转不是一种技术而是一种思想,有别于传统的思想的是,它将设计好的对象交于容器来控制,而不是对象的内部直接控制。


�传统应用示意图.png

当有了IOC/DI容器之后,就不需要在客户端类中主动创建这些对象了

�IOC容器管理获取对象补救.png

IOC容器可以做什么

IOC是一种思想,一种面向对象的编程法则,它改变了既有的思想,把从应用程序主动获取资源到必须等待IOC容器来创建并注入它所需要的资源。
这样的好处是,对象与对象之间能够松耦合,便于测试,利于功能的复用。把创建和查找对象的控制权交予IOC容器中,让开发人员更能关注业务逻辑的实现。
总结:由IOC容器帮对象来查找相应的依赖对象并注入,而不是由对象主动去找。

DI依赖注入

关键点在于:

  1. 谁依赖谁:应用程序依赖IOC容器
  2. 为什么需要依赖:因为应用程序需要IOC容器来提供对象需要的外部资源
  3. 谁注入谁:IOC容器注入应用程序某个对象,应用程序依赖的对象
  4. 注入了什么:注入了某个对象所需要的外部资源(对象、资源、常量数据)

欢迎邮件交流zhanghanbin1990@live.cn,并感谢importJava

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容