首页 > 程序开发 > 软件开发 > 其他 >

Spring之控制反转和依赖注入

2017-04-19

Spring之控制反转和依赖注入:一般的,我们要想得到一个对象,就把它new出来。在一些复杂的系统中,一个对象A可能依赖于对象B,C等(代码表现为A类持有B,C类的对象作为A类的属性)。

Spring之控制反转和依赖注入:一般的,我们要想得到一个对象,就把它new出来。在一些复杂的系统中,一个对象A可能依赖于对象B,C等(代码表现为A类持有B,C类的对象作为A类的属性)。

很多时候,我们并不想在A类中new出B,C的对象,这样会增加类之间的耦合性。于是,就有了控制反转(IoC)和依赖注入(DI)的概念。控制反转就是将对象的实例化过程交给spring框架来做,依赖注入就是将A对象所依赖的BC对象以配置文件的形式传递给A对象。

以经典的web三层结构为例。我们知道,action动作类中持有service类的对象,service类中又持有dao类的对象,传统方式如下。

如上图所示,我们理所当然的new出所依赖的对象实例,这样各个类之间的耦合性太强,不利于维护。spring提供了2种思想(IoC和DI),将“new出对象的动作”和“产生依赖关系”的操作配置到配置文件中。

上图所示,源码中并不再出现“new”关键字来创建实例,而是在配置文件(这里是xml文件)中用bean标签来创建,对象之间的依赖关系则用“bean”标签下的“property”标签来引用。这样一来,各个类之间的耦合性就解除了,各个类都和配置文件打交道。

相关文章
最新文章
热点推荐