加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 程序设计 > 正文

7.3.1: 理解依赖注入

发布时间:2020-05-22 20:04:38 所属栏目:程序设计 来源:互联网
导读:纵观所有的Java应用,它们都是一种典型的依赖型应用,也就是由一些互相协作的对象构成的。Spring把这种互相协作的关系称为依赖关系。譬如A组件调用了B组件的方法,我们可称A组件依赖于B组件。 使用依赖注入,不仅可以为Bean注入普通的属性值,还可以注入其他B

纵观所有的Java应用,它们都是一种典型的依赖型应用,也就是由一些互相协作的对象构成的。Spring把这种互相协作的关系称为依赖关系。譬如A组件调用了B组件的方法,我们可称A组件依赖于B组件。

使用依赖注入,不仅可以为Bean注入普通的属性值,还可以注入其他Bean的引用。通过这种依赖注入,JavaEE应用中的各种组件不需要以硬编码方式耦合在一起,甚至无须使用工厂模式。依赖注入达到的效果,非常类似于传说中的共产主义,当某个Java实例需要其他Java实例时,系统自动提供所需要的实例,无须程序显式获取。

可见依赖注入是目前最优秀的解耦方式。依赖注入让Spring的Bean以配置文件组织在一起,而不是以硬编码的方式耦合在一起。

Spring极好地利用了依赖注入,但是Spring既不是依赖注入的首创者,也不是依赖注入容器的唯一选择。例如HiveMind,它也是一个开源的依赖注入容器。

理解依赖注入:

虽然Spring并不是依赖注入的首创者,但Johnson是第一个高度重视以配置文件来管理Java实例的协作关系的人,它给这种方式起了一个名字:控制反转(IOC,Inversion of Control)。但这个名称极其晦涩,在后来的日子里,Martine Fowler为这种方式起了另一个相对简单的称呼:依赖注入(DI,Dependency Injection)。所以依赖注入和控制反转是一个意思。不管是依赖注入还是控制反转,都说明Spring采用动态、灵活的方式来管理各种对象。对象和对象之间的具体实现互相透明。

总结:所谓依赖注入,是指程序运行过程中,如果需要另一个对象协作(调用它的方法,访问它的属性)时,无须在代码中创建被调用者,而是依赖于外部容器的注入。Spring的依赖注入对调用者和被调用者几乎没有任何要求,完全支持对POJO之间依赖关系的管理。

依赖注入通常有如下两种:

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读