依赖注入Spring 的依赖注入是什么意思?

依赖注入  时间:2021-01-13  阅读:()

什么是“依赖注入”?

依赖注入(Dependency Injection)和控制反转(Inversion of Control)是同一个概念。

具体含义是:当某个角色(可能是一个Java实例,调用者)需要另一个角色(另一个Java实例,被调用者)的协助时,在 传统的程序设计过程中,通常由调用者来创建被调用者的实例。

但在Spring里,创建被调用者的工作不再由调用者来完成,因此称为控制反转;创建被调用者 实例的工作通常由Spring容器来完成,然后注入调用者,因此也称为依赖注入。

如何通俗的理解java的依赖注入

假设你编写了两个类,一个是人(Person),一个是手机(Mobile)。

人有时候需要用手机打电话,需要用到手机的callUp方法。

传统的写法是这样: Java code public class Person{ public boolean makeCall(long number){ Mobile mobile=new Mobile(); return mobile.callUp(number); } } 也就是说,类Person的makeCall方法对Mobile类具有依赖,必须手动生成一个新的实例new Mobile()才可以进行之后的工作。

依赖注入的思想是这样,当一个类(Person)对另一个类(Mobile)有依赖时,不再该类(Person)内部对依赖的类(Moblile)进行实例化,而是之前配置一个beans.xml,告诉容器所依赖的类(Mobile),在实例化该类(Person)时,容器自动注入一个所依赖的类(Mobile)的实例。

接口: Java code public Interface MobileInterface{ public boolean callUp(long number); } Person类: Java code public class Person{ private MobileInterface mobileInterface; public boolean makeCall(long number){ return this.mobileInterface.callUp(number); } public void setMobileInterface(MobileInterface mobileInterface){ this.mobileInterface=mobileInterface; } } 在xml文件中配置依赖关系 Java code 这样,Person类在实现拨打电话的时候,并不知道Mobile类的存在,它只知道调用一个接口MobileInterface,而MobileInterface的具体实现是通过Mobile类完成,并在使用时由容器自动注入,这样大大降低了不同类间相互依赖的关系。

java依赖注入的方法:set注入,构造方法注入,接口注入。

Spring什么叫依赖注入?

IoC 或者 DI 或者 ...一大堆的缩写词 不管是面向对象,还是面向过程,都需要分成许多的块,然后由这些部件协同工作完成任务 要协同工作就会产生依赖,一个方法调用另一个方法,一个对象包含另一个对象 如果对象A包含对象B的话,就需要在A里new一个B 依赖注入从具体类B里抽象出接口IB——IB的具体实现可能有很多B,B1,B2...很多种——这样A可以不用再new具体的B了,而是跟IoC容器说:我要一个IB(getBean("IB"))。

然后,由容器根据配置文件来做具体的new的工作。

具体new的是哪个,由配置文件从代码外部决定,要更换成B,B1,或是B2...修改配置文件就能做到,不用再改代码了

Spring 的依赖注入是什么意思?

如楼上所说 “依赖注入就是通过配置文件解决代码问题 <bean id="" class=""> <property name="message" value="hello"/> </bean> ” 这种方式是设置注入 (又称 setter注入) 相当于一个bean工厂,工厂帮你创建好了这个bean对象,然后调用了 setMessage方法将"Hello" 设置到了你的bean对象当中

香港站群多ip服务器多少钱?零途云香港站群云服务器怎么样?

香港站群多ip服务器多少钱?想做好站群的SEO优化,最好给每个网站都分配一个独立IP,这样每个网站之间才不会受到影响。对做站群的站长来说,租用一家性价比高且提供多IP的香港多ip站群服务器很有必要。零途云推出的香港多ip站群云服务器多达256个IP,可以满足站群的优化需求,而且性价比非常高。那么,香港多ip站群云服务器价格多少钱一个月?选择什么样的香港多IP站群云服务器比较好呢?今天,小编带大家一...

提速啦(900元/月),杭州BGP E5-2665/89*2 32核 48G 100G防御

提速啦的来历提速啦是 网站 本着“良心 便宜 稳定”的初衷 为小白用户避免被坑提速啦的市场定位提速啦主要代理市场稳定速度的云服务器产品,避免新手购买云服务器的时候众多商家不知道如何选择,妮妮云就帮你选择好了产品,无需承担购买风险,不用担心出现被跑路 被诈骗的情况。提速啦的售后保证提速啦退款 通过于合作商的友好协商,云服务器提供3天内全额退款,超过3天不退款 物理机部分支持当天全额退款提速啦提现 充...

HostKvm香港VPS七折:$5.95/月KVM-2GB内存/40GB硬盘/500GB月流量

HostKvm是一家成立于2013年的国外主机服务商,主要提供VPS主机,基于KVM架构,可选数据中心包括日本、新加坡、韩国、美国、俄罗斯、中国香港等多个地区机房,均为国内直连或优化线路,延迟较低,适合建站或者远程办公等。商家本月针对香港国际机房提供特别7折优惠码,其他机房全场8折,优惠后2G内存香港VPS每月5.95美元起,支持使用PayPal或者支付宝付款。下面以香港国际(HKGlobal)为...

依赖注入为你推荐
可以发外链的论坛发外链的论坛哪个比较好,哪个论坛能发外链,能发广告急求。。。。伪装微信地理位置怎么伪装微信地理位置?如何免费开通黄钻如何免费开通黄钻??最新qq空间代码qq空间最新免费代码无线路由器限速设置无线路由器速度如何设置?免费开通黄钻花钱开通黄钻和免费开通有什么区别?金山杀毒怎么样用金山毒霸杀毒好吗?ejb开发EJB是啥玩意了mate8价格华为mate8市场价多少系统分析员一个优秀的系统分析师应该具备哪些方面的知识和素质?
org域名 什么是域名 免费域名注册 踢楼 香港机房 国外私服 gateone 双12活动 阿里云代金券 北京主机 qq云端 鲁诺 电信托管 免费邮件服务器 空间租赁 中国电信测速器 架设邮件服务器 全能空间 腾讯网盘 上海联通 更多