Spring依赖注入和控制反转比喻

    Spring中的对象管理机制——依赖注入和控制反转让对象管理更加简洁清晰, 下面以一个简单的例子来说明该机制的美妙之处:
   如果将java中的接口比作电脑主机箱,它定义好了你应该放哪些部件来组装一台完整的电脑(接口实现类)。一台完整的计算机要实现它,至少必须实现它规定的部件。比如CPU、内存条、主板(接口实现类的属性)。。。具体每个部件的实现就看自己的需求了。
   在这个例子上来理解spring 的依赖注入:
   当我要组装一台自己的电脑且有了主机箱,我就要去买CPU,然后买内存条,然后买主板。。。这是一般的思维模式,即我创造一个功能我就需要每次被动的一个一个去取模块(依赖的对象)过来,依次实现。spring 优秀的方法来了,我首先做好分析,将我需要的每个部件的实现都写在清单上,比如实现CPU功能所需的内存,内核属性列出来。。好了这样一张清单直接扔给了采集人员(spring管理机制。当我说我今天要组装那款台式电脑了,采集人员哗的一下子全给你拿过来了,这样依赖就扔给了清单(spring中的xml文件)去管理了。我就没必要被动的去一个部件一个部件拿了,反倒是要依赖的部件一起依赖注入过来了。至于那些属性比如CPU 哪个属性较好,奔腾或者酷睿,那是清单属性都定好的。当我实例化的时候(创建实现对象),依赖的属性对象就通过清单注入到该对象来了。依赖注入DI, IOC 控制真的反转了.(接口,主机箱;接口实现,基于该主机箱的不同功能的电脑;spring: 通过组装清单将这些不同功能的电脑部件具体呈现出来,通过清单控制反转依赖关系)



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值