永发信息网

【依赖注入】哪位高人解释一下依赖注入?

答案:2  悬赏:50  手机版
解决时间 2021-02-27 09:12
【依赖注入】哪位高人解释一下依赖注入?
最佳答案
【答案】 假设你编写了两个类,一个是人(Person),一个是手机(Mobile).
  人有时候需要用手机打电话,需要用到手机的dialUp方法.
  传统的写法是这样:
  Java code
  public class Person{
   public boolean makeCall(long number){
   Mobile mobile=new Mobile();
   return mobile.dialUp(number);
   }
  }
  也就是说,类Person的makeCall方法对Mobile类具有依赖,必须手动生成一个新的实例new Mobile()才可以进行之后的工作.
  依赖注入的思想是这样,当一个类(Person)对另一个类(Mobile)有依赖时,不再该类(Person)内部对依赖的类(Moblile)进行实例化,而是之前配置一个beans.xml,告诉容器所依赖的类(Mobile),在实例化该类(Person)时,容器自动注入一个所依赖的类(Mobile)的实例.
  接口:
  Java code
  public Interface MobileInterface{
   public boolean dialUp(long number);
  }
  Person类:
  Java code
  public class Person{
   private MobileInterface mobileInterface;
   public boolean makeCall(long number){
   return this.mobileInterface.dialUp(number);
   }
   public void setMobileInterface(MobileInterface mobileInterface){
   this.mobileInterface=mobileInterface;
   }
  }
  在xml文件中配置依赖关系
  Java code
  
  
  
  
  
  
  这样,Person类在实现拨打电话的时候,并不知道Mobile类的存在,它只知道调用一个接口MobileInterface,而MobileInterface的具体实现是通过Mobile类完成,并在使用时由容器自动注入,这样大大降低了不同类间相互依赖的关系.
全部回答
我学会了
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
中国各个省的简称 分别是什么?
全自动洗衣机电脑板有电源但启动和程序键都按
杜城村怎么去啊,有知道地址的么
大明宣德年间香炉,有聚宝盆字样
已知图中正方形的面积是40平方厘米,求圆的面
今天在家里看到白蜘蛛
广州市中山大道西191号附近都有什么公交站点
电脑显示屏超频怎么弄
春秋时期为啥诸侯称王
浅蓝色new balance鞋怎么搭配裤子
地球上最大的生态系统是B。A. 湿地生态系统B.
氮气和氢气反映的化学方程式如何配平
吉康药品江安县留耕连锁店在哪里啊,我有事要
HD 4670 4830 那个好
生命之水伏特加怎么喝
推荐资讯
马桥西新小区我想知道这个在什么地方
25减19分之17等于几
社保的养老金可以领取到多少岁
二横路在什么地方啊,我要过去处理事情
2010冬奥会女子500米
置业顾问升到主管怎么管理置业顾问
鄂城区鄂州金鸿科技(江碧路店)这个地址在什么
孕期需要吃哪种钙片
社会的发展需要公平。社会公平对我们的要求是
微信头像支持什么格式
我狗狗两岁50斤吃成人药的药量是多少
描写石雕的诗句
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?