加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

浅谈依赖注入

发布时间:2020-12-14 05:13:09 所属栏目:百科 来源:网络整理
导读:背景:生活总是会提供一些你原本不知道的东西,面对这些不知道又反复被"提醒"的东西,我们总能通过其他的途径得知关于它某某属性,某某方法。就像是这个“依赖注入”一样,我们总是能用到它,但是就是不知道它的实际定义是怎样,还有什么地方用得到它,用于不用


背景:生活总是会提供一些你原本不知道的东西,面对这些不知道又反复被"提醒"的东西,我们总能通过其他的途径得知关于它某某属性,某某方法。就像是这个“依赖注入”一样,我们总是能用到它,但是就是不知道它的实际定义是怎样,还有什么地方用得到它,用于不用到底有什么不同,好处又是什么,有没有特别的坏处……这一切的一切似乎和自己没有多大关系,但是“放过”又不是我们的风格。


一、控制反转


? ? “要想知其子,必先究其母”,查询过资料,依赖注入是控制反转的一种类型。那么控制反转又是什么呢?


? ? 控制反转(Inversion of Control,英文缩写为IoC)是一个重要的面向对象编程的法则来削减计算机程序的耦合问题,也是轻量级的Spring框架的核心。?


? ? 控制反转一般分为两种类型,依赖注入(Dependency Injection,简称DI)和依赖查找(Dependency Lookup)。依赖注入应用比较广泛。


? ??控制反转是,关于一个对象如何获取他所依赖的对象的引用,这个责任的反转。


二、依赖注入


? ? 依赖注入的基本原则是:应用组件不应该负责查找资源或者其他依赖的协作对象。配置对象的工作应该由IoC容器负责,“查找资源”的逻辑应该从应用组件的代码中抽取出来,交给IoC容器负责。


? ? 当前比较知名的IoC容器有:Pico Container、Avalon 、Spring、JBoss、HiveMind、EJB等。


? ? 在上面的几个IoC容器中,轻量级的有Pico Container、Avalon、Spring、HiveMind等,超重量级的有EJB,而半轻半重的有容器有JBoss,Jdon等。


? ? 可以把IoC模式看做是工厂模式的升华,可以把IoC看作是一个大工厂,只不过这个大工厂里要生成的对象都是在XML文件中给出定义的,然后利用Java 的“反射”编程,根据XML中给出的类名生成相应的对象。从实现来看,IoC是把以前在工厂方法里写死的对象生成代码,改变为由XML文件来定义,也就是把工厂和对象生成这两者独立分隔开来,目的就是提高灵活性和可维护性。


? ? IoC中最基本的Java技术就是“反射”编程。反射又是一个生涩的名词,通俗的说反射就是根据给出的类名(字符串)来生成对象。这种编程方式可以让对象在生成时才决定要生成哪一种对象。反射的应用是很广泛的,像Hibernate、Spring中都是用“反射”做为最基本的技术手段。


在ITOO中我们用到了依赖注入


三、举个栗子


在ITOO中我们用到了依赖注入,下面简单的介绍一下。


1、首先在Web.config中对已经写好的B层进行注解:



2、在Client端调用B层接口的时候,进行实例化操作:



3、使用的时候直接用2中刚刚实例化出来的对象。




四、学习心得


1、面对生活给的种种,我们先坦然的接受,然后慢慢地消化。

2、在例子中实践远远比在理论中低迷要好得多。

3、“放过”不是我们的风格,“将就”也不是我们的宗旨,我们要做的就是究其根本,找到本源。


(编辑:李大同)

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

    推荐文章
      热点阅读