本文介紹了自動生成構造函數和字段的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!
問題描述
在執行彈簧容器的自動配置時,自動連接字段和構造函數是否錯誤。例如:
@Component
public class Test1 {
@Autowired
private Test2 B;
@Autowired
Test(Test2 C) {
this.B=C;
}
}
你能解釋一下到底發生了什么嗎?
推薦答案
錯誤。您可能有兩個Test2
Bean,一個名為”B”,另一個名為”C”(名稱應為小寫BTW)。將首先調用該構造函數,將該字段設置為C
;然后注入該字段,并使用B
覆蓋該字段。如果只有一個Test2
Bean,那么它將工作,但請記住,構造函數注入的目的是避免字段注入,而是允許使用final
字段。
這篇關于自動生成構造函數和字段的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,