您的位置:首页 > 编程语言 > Java开发

【Spring学习笔记二】-理解依赖注入

2016-08-11 15:28 330 查看
为了更好的理解依赖注入,我们先从一个简单的例子说起。一个人(我们可以看做是一个Java实例,调用者),他因为劳动,需要一把斧子(在这里也可以看做是一个Java实例,被调用者)。


在原始社会里,几乎没有任何分工,想要斧子,就必须要自己动手去打造。在Java中,就相当于,调用者自己创建被调用者,通常做法就是用new关键字创建一个Java对象。


进入到工业社会,斧子开始在工厂生产,想要斧子的话,只需要去工厂买一把即可。这种情况对应简单工厂设计模式,调用者只需要定位工厂,无须管理被调用者具体的实现。


进入到“共产主义”社会后,需要斧子的人甚至不需要去工厂买斧子,只需要坐等社会提供即可。这在编程中,是最理想的情况,程序完全无须理会被调用者的实现,也无须主动定位工厂。


第一种情况下,调用者直接使用new关键字创建被调用者实例,程序高度耦合,效率低下。第二种情况下,调用者依然需要主动定位工厂,调用者与工厂耦合在一起。第三种情况,既是我们所说的Spring依赖注入方式。


依赖注入含义如下:当某个Java实例(调用者)需要另外一个Java实例(被调用者)时,无须在代码中创建对象,而是由Spring容器完成创建实例的工作,然后注入调用者,这种方式称为依赖注入。


依赖注入通常有两种方式:设值注入和构造注入。设值注入,即Spring容器使用属性的setter方法来注入被依赖的实例。构造注入,即Spring容器使用构造器来注入被依赖的实例。这次的分享先到这里,关于两种注入方式的使用下次再分享。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: