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

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Kevin_zhai/article/details/52183085
为了更好的理解依赖注入,我们先从一个简单的例子说起。一个人(我们可以看做是一个Java实例,调用者),他因为劳动,需要一把斧子(在这里也可以看做是一个Java实例,被调用者)。
在原始社会里,几乎没有任何分工,想要斧子,就必须要自己动手去打造。在Java中,就相当于,调用者自己创建被调用者,通常做法就是用new关键字创建一个Java对象。
进入到工业社会,斧子开始在工厂生产,想要斧子的话,只需要去工厂买一把即可。这种情况对应简单工厂设计模式,调用者只需要定位工厂,无须管理被调用者具体的实现。
进入到“共产主义”社会后,需要斧子的人甚至不需要去工厂买斧子,只需要坐等社会提供即可。这在编程中,是最理想的情况,程序完全无须理会被调用者的实现,也无须主动定位工厂。
第一种情况下,调用者直接使用new关键字创建被调用者实例,程序高度耦合,效率低下。第二种情况下,调用者依然需要主动定位工厂,调用者与工厂耦合在一起。第三种情况,既是我们所说的Spring依赖注入方式。
依赖注入含义如下:当某个Java实例(调用者)需要另外一个Java实例(被调用者)时,无须在代码中创建对象,而是由Spring容器完成创建实例的工作,然后注入调用者,这种方式称为依赖注入。
依赖注入通常有两种方式:设值注入和构造注入。设值注入,即Spring容器使用属性的setter方法来注入被依赖的实例。构造注入,即Spring容器使用构造器来注入被依赖的实例。这次的分享先到这里,关于两种注入方式的使用下次再分享。

猜你喜欢

转载自blog.csdn.net/Kevin_zhai/article/details/52183085