Spring通過自動檢測自動裝配

在Spring,「通過自動檢測自動裝配」,「通過構造函數自動裝配」是指選,如果默認構造函數(參數與任何數據類型),以其他方式使用「按類型自動裝配」。

請參見Spring 「通過自動檢測自動裝配」的一個例子。自動裝配(對"panda" bean 的實現基地)的「kungfu」 Bean 到 「panda」,通過構造函數或類型。

<bean id="kungfu" class="com.yiibai.common.KungFu" >
    <property name="name" value="Tai Ji" />
</bean>

1. AutoDetect – 按構造函數裝配

如果默認的構造函數提供,自動檢測將構造自動裝配。

package com.yiibai.common;

public class Panda {
private KungFu kungfu;

public Panda(KungFu kungfu) {
    System.out.println("autowiring by constructor");
    this.kungfu = kungfu;
}

public KungFu getKungfu() {
    return kungfu;
}

public void setKungfu(KungFu kungfu) {
    System.out.println("autowiring by type");
    this.kungfu = kungfu;
}

//...

}

輸出

autowiring by type
Person [kungfu=Language [name=Tai Ji]]

2. AutoDetect – 按類型裝配

如果沒有找到默認的構造函數,自動檢測將按類型選擇裝配。

package com.yiibai.common;

public class Panda {
private KungFu kungfu;

public KungFu getKungfu() {
    return kungfu;
}

public void setKungfu(KungFu kungfu) {
    System.out.println("autowiring by type");
    this.kungfu = kungfu;
}

//...

}

輸出

autowiring by type
Person [kungfu=Language [name=Tai Ji]]

下載代碼 –   http://pan.baidu.com/s/1bnIFXvD