天天看點

Spring讀書筆記之依賴注入

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:

<b>public</b> <b>interface</b> City {

    <b>public</b> <b>void</b> describCity();

}

View.java

<b>public</b> <b>interface</b> View {

    <b>public</b> String describe();

Fengshan.java(繼承于City接口):

<b>public</b> <b>class</b> Fengshan <b>implements</b> City {

    <b>private</b> View view;

    //預設構造方法

    <b>public</b> Fengshan(){

    }

    //設定注入所需的setter方法

    <b>public</b> <b>void</b> setView(View view) {

       <b>this</b>.view = view;

    //實作接口的方法

    <b>public</b> <b>void</b> describCity() {

       System.out.println(view.describe());

FengshanView.java(繼承于View接口):

<b>public</b> <b>class</b> FengshanView <b>implements</b> View{

    <b>public</b> FengshanView(){}

    <b>public</b> String describe() {

       <b>return</b> "鳳山很漂亮";

Test.java(測試類):

<b>public</b> <b>class</b> Test <b>extends</b> TestCase {

    <b>public</b> <b>void</b> test(){

ApplicationContext ctx = <b>new</b> FileSystemXmlApplicationContext("bean.xml");

       City city = (City) ctx.getBean("fengshan");

       city.describCity();

<a href="http://down.51cto.com/data/2351426" target="_blank">附件:http://down.51cto.com/data/2351426</a>

本文轉自 yzzh9 51CTO部落格,原文連結:http://blog.51cto.com/java999/120121,如需轉載請自行聯系原作者