ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 怎么样理解依赖注入?

怎么样理解依赖注入?

原创 Linux操作系统 作者:studios123 时间:2008-04-02 11:06:19 0 删除 编辑
假设你编写了两个类,一个是人(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类完成,并在使用时由容器自动注入,这样大大降低了不同类间相互依赖的关系。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/7780770/viewspace-224900/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2008-04-01

  • 博文量
    15
  • 访问量
    10490