正在学习Spring IOC,请各位高手,根据自己的理解讲解下IOC的控制反转与依赖注入。始终不理解。。

解决方案 »

  1.   

    IOC(Inversion of Control)即反向控制或依赖注入(DI,Dependence Injection)。如正常情况下我们写程序的时候如果引用到别的bean都要首先声明一个这个类的对象。之后再使用这个对象进行操作,如果该对象又引用了有其他的对象,则需要再先声明其他的对象,如果其他的对象再引用的有其他的对象,则也必须先声明引用的其他的对象,如此反反复复,使我们大家花了很多时间在这种框架性的工作上,使我们没有更多的精力或时间花费在我们真正的逻辑的实现上。IOC即提供了这样的功能,我们的bean交由spring容器来管理,各个对象之间的关系我们不用去维护,只需要提供对应的set方法及对应的配置文件即可。这样我们可以花我们主要的精力放在我们的业务逻辑上。从字面上来讲,依赖注入即一个bean所依赖的类不需要我们自己去声明,而是交由spring把依赖的类自己注入进去。相比控制反转,用依赖注入来描述或翻译则更容易理解可以参考文章:
    http://blog.csdn.net/ma_shijie/archive/2010/11/04/5988331.aspx
      

  2.   

    依赖注入是控制反转的一种实现,
    简单的说,依赖注入就是:
    有些字段不需要自己去new或写代码从哪里取来, 框架负责给它赋值;
    不需自己赋值,而是依赖框架把值注入进来