码迷,mamicode.com
首页 > 编程语言 > 详细

如何理解 Spring 注入

时间:2014-07-30 11:58:43      阅读:216      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   java   使用   文件   io   代码   

先看一段代码 假设你编写了两个类,一个是人(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); //调用mobileInterface
}
public void setMobileInterface(MobileInterface mobileInterface)
{ this.mobileInterface=mobileInterface; }
}

 

在xml文件中配置依赖关系
Java code <bean id="person" class="Person"> <property name="mobileInterface"> <ref local="mobileInterface"/> </property> </bean> <bean id="mobileInterface" class="Mobile"/> 这样,Person类在实现拨打电话的时候,并不知道Mobile类的存在,它只知道调用一个接口MobileInterface,而MobileInterface的具体实现是通过Mobile类完成,并在使用时由容器自动注入,这样大大降低了不同类间相互依赖的关系。

如何理解 Spring 注入,布布扣,bubuko.com

如何理解 Spring 注入

标签:style   blog   color   java   使用   文件   io   代码   

原文地址:http://www.cnblogs.com/colmeluna/p/3877373.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!