Spring的依赖注入是指一个java类(调用者)调用另外一个java类(被调用者)的过程是在spring配置文件中完成的,既在配置文件中完成调用者的实例,然后再注入被调用者。下面以一个简单例子说明。
注:所谓的控制反转和依赖注入是同一概率。调用者调用被调用者的工作交给spring来做,就叫控制反转。依赖注入如上所说,就是在spring配置文件的调用者的实例中注入被调用者。
Bean.xml
< beans >
<!-- 调用者实例 -->
     < bean  id = "fengshan"  class = "com.dvnchina.test.Fengshan" >
<!-- 注入被调用者 -->
        < property  name = "view" >
            < ref  local = "fengshanView" />
         </ property >
      </ bean >
<!-- 被调用者实例 -->
      < bean  id = "fengshanView"  class = "com.dvnchina.test.FengshanView" />
</ beans >
 
City.java
public   interface  City {
     public   void  describCity();
}
 
View.java
public   interface  View {
     public  String describe();
}
 
Fengshan.java (继承于 City 接口) :
public   class  Fengshan  implements  City {
     private  View  view ;
     // 默认构造方法
     public  Fengshan(){
    }
     // 设置注入所需的 setter 方法
     public   void  setView(View view) {
        this . view  = view;
    }
     // 实现接口的方法
     public   void  describCity() {
       System. out .println( view .describe());
    }
}
FengshanView.java( 继承于 View 接口 ):
public   class  FengshanView  implements  View{
     public  FengshanView(){}
     public  String describe() {
        return   " 凤山很漂亮 " ;
    }
}
 
Test.java( 测试类 ):
public   class  Test  extends  TestCase {
     public   void  test(){
ApplicationContext ctx =  new  FileSystemXmlApplicationContext( "bean.xml" );
       City city = (City) ctx.getBean( "fengshan" );
       city.describCity();
    }
}