热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

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

推荐阅读
author-avatar
税绍彬_396
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有