1. 程式人生 > >Spring4 -03 -Dependency Injection (依賴注入) : 程式碼體現/配置xml/測試

Spring4 -03 -Dependency Injection (依賴注入) : 程式碼體現/配置xml/測試

  1. DI:中文名稱:依賴注入
  2. 英文名稱((Dependency Injection)
  3. DI 是什麼?

    3.1 DI 和IoC 是一樣的,差不多一樣的技術和模板!

    3.2 當一個類(A)中需要依賴另一個類(B)物件時, B 賦值給A 的過程就叫做依賴注入.

 4.程式碼體現: (新增一個desk,並且新增進People屬性內)

   4.1 新增desk bean類 :

    private int id;
    private double price;

package com02.bean;

public class Desk {
    private int id;
    private double price;

    public void setId(int id) {
        this.id = id;
    }

    @Override
    public String toString() {
        return "Desk{" +
                "id=" + id +
                ", price=" + price +
                '}';
    }

    
public int getId() { return id; } public double getDesk() { return price; } public void setPrice(double price) { this.price = price; } public double getPrice() { return price; } }
View Code

  4.2  在com02/test/applicationcontext.xml 中新增一個

desk,並且新增進People屬性內

<!--
        id表示獲取到的物件的標識;class表示建立那個類的物件;
    -->
    <bean id="peo" class="com02.bean.People">
        <property name="id" value="001"></property>
        <property name="name" value="我叫零零一"></property>
        <property name="lists">
            <list>
                <value>list01</value>
                <value>list02</value>
                <value>list03</value>
            </list>
        </property>
        <property name="sets">
            <set>
                <value>set01</value>
                <value>set02</value>
                <value>set03</value>
            </set>
        </property>

<property name="desk" ref="desk"></property> </bean> <bean id="desk" class="com02.bean.Desk"> <property name="id" value="1"></property> <property name="price" value="12"></property> </bean>

 

 

  5 進行測試

//測試 DI
People people=ac.getBean("peo",People.class);
System.out.println(people);

 
//測試結果

People{
  id
=1, name='我叫零零一',
  lists=[list01, list02, list03], sets=[set01, set02, set03], desk=Desk{id=1, price=12.0}
}