2012-03-22 195 views
0

我讀春天3.0文檔,我來到了一句話 - XML注射前進行Spring註解和XML配置

註釋注入,從而後者配置 將覆蓋前者通過兩種方式連接屬性。

接下來的問題來到我的腦海: 如果我在bean中使用的註釋(如@Service("myService")),現在我使用的是其他的bean,並用「爲myService」,並「爲myService」將通過注入XML配置。

會這樣嗎?我試過,但它給我

BeanCreationException(無法解析引用豆「爲myService」而設置的bean屬性「爲myService」)

後來,我通過這個問題Wiring Spring bean through annotations and xml context去了,但在解決方案它被告知「只留下未指定的所有註釋字段,並且他們會自動注入魔法。」 (我沒有嘗試這種解決方案)

但是,如果我想指定所有註釋字段,就像我上面指定@Service註釋什麼? 有什麼建議?

回答

0

我想出了答案,它工作得很好。其實我忘了在xml配置中添加標籤。我們需要在每個配置文件中添加此標記,即如果您已經爲服務層bean編寫了配置文件,請爲服務層帶註釋的bean添加標記。類似於dao和控制器層。

0

你需要自動裝配你的構造類似下面...

@Autowired(required=true) 
public UserService(DataSource dataSource){ 
    this.userDS = new UserDS(dataSource); 
} 

所以,在上面的代碼DataSource將在自動UserService注入。

+1

廢話。這個問題與構造函數注入無關。構造函數,方法和字段注入是做同樣事情的三種不同版本,但是這個問題可以用任何這些方法來解決。 – 2012-03-22 07:26:42