這裏是從這裏發佈一些代碼,這可以解釋我的問題:彈簧3依賴注入和接口
接口:
package org.better.place
public interface SuperDuperInterface{
public void saveWorld();
}
實現:
package org.better.place
import org.springframework.stereotype
public class SuperDuperClass implements SuperDuperInterface{
public void saveWorld(){
System.out.println("Done");
}
}
客戶:
package org.better.place
import org.springframework.beans.factory.annotation.Autowire;
public class SuperDuperService{
private SuperDuperInterface superDuper;
public void doIt(){
superDuper.saveWorld();
}
public void setSuperDuper(SuperDuperInterface superDuper) {
this.superDuper = superDuper;
}
}
我的問題是 - 我如何在spring配置中配置bean?我不想使用@Autowired
和其他註釋。
我想這會是這樣的:
<bean id="superService" class="org.better.place.SuperDuperService">
<property name="superDuper" ref="superWorker"
</bean>
<bean id="superWorker" class=?????? parent=???????? >
</bean>
的
superDuper
場我看不出有什麼可以讓Spring自動注入'SuperDuperClass'實例的'SuperDuperService'不使用'@Autowired '在裏面(OP想要避免)。 – zagyi,除非你明確地說@Autowired或在xml spring中提到auto-wire不自動連線。我在這裏試圖解釋的是避免父標籤,因爲spring會發現它是否可以分配實例 – sanbhat
是的,這就是我的意思。它們都不在問題的代碼片段中,所以不明白爲什麼你寫了這樣的話:「Spring會自動查找它是否可以將SuperDuperClass的實例分配給SuperDuperService的superDuper字段」 – zagyi