依赖注入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对象当中

Budgetvm12核心 16G 500 GB SSD 或者 2 TB SATA 10GB  20 TB  99美金

Budgetvm(原EZ机房),2005年成立的美国老品牌机房,主打美国4个机房(洛杉矶、芝加哥、达拉斯、迈阿密)和日本东京机房的独立服务器和VPS业务,而且不限制流量,默认提供免费的1800G DDoS防御服务,支持IPv6和IPMI,多种免费中文操作系统可供选择,独立服务器主打大硬盘,多硬盘,大内存,用户可以在后台自行安装系统等管理操作!内存可定制升级到1536G,多块硬盘随时加,14TBSA...

天上云:香港大带宽物理机服务器572元;20Mbps带宽!三网CN2线路

天上云服务器怎么样?天上云是国人商家,成都天上云网络科技有限公司,专注于香港、美国海外云服务器的产品,有多年的运维维护经验。世界这么大 靠谱最重,我们7*24H为您提供服务,贴心售后服务,安心、省事儿、稳定、靠谱。目前,天上云香港大带宽物理机服务器572元;20Mbps带宽!三网CN2线路,香港沙田数据中心!点击进入:天上云官方网站地址香港沙田数据中心!线路说明 :去程中国电信CN2 +中国联通+...

舍利云:海外云服务器,6核16G超大带宽vps;支持全球范围,原价516,折后价200元/月!

舍利云怎么样?舍利云推出了6核16G超大带宽316G高性能SSD和CPU,支持全球范围,原价516,折后价200元一月。原价80美元,现价30美元,支持地区:日本,新加坡,荷兰,法国,英国,澳大利亚,加拿大,韩国,美国纽约,美国硅谷,美国洛杉矶,美国亚特兰大,美国迈阿密州,美国西雅图,美国芝加哥,美国达拉斯。舍利云是vps云服务器的销售商家,其产品主要的特色是适合seo和建站,性价比方面非常不错,...

依赖注入为你推荐
ip地址是什么什么是IP地址和DNS地址?外网和内网什么是外网和内网?博客外链外链都要怎么做?博客外链有没有效果?湖南商标注册湖南哪里有商标注册公司?数码资源网哪个网站可以直接在线做照片?功能要齐全的`ps抠图技巧ps中怎么抠图?今日热点怎么删除千牛里面的今日热点怎么取消_?qq空间装扮QQ空间装扮硬盘人500G的硬盘容量是多少啊?畅想中国畅想中国发展前景
阿云浏览器 duniu 仿牌空间 t楼 59.99美元 免备案cdn 好玩的桌面 lighttpd ibox官网 免费活动 东莞数据中心 爱奇艺vip免费试用7天 免费美国空间 1美金 hktv 免费网页空间 四核服务器 爱奇艺会员免费试用 优酷黄金会员账号共享 免费mysql数据库 更多