spring配置文件中ref 和idref標籤

官方:

idref元素用來將容器內其它bean的id傳給<constructor-arg/><property/>元素,同時提供錯誤驗證功能。

上述bean定義片段完全地等同於(在運行時)以下的片段

 也是就是說idref我可以獲取spring容器中的bean的name的值(一個字符串),而不是bean的實例。

而ref是獲取這個bean的實例。用來實現注入功能。

假如只是想獲取bean的名稱 採用idref

使用idref標記允許容器在部署時 驗證所被引用的bean是否存在。而value方式,傳給client bean的targetName屬性值並沒有被驗證。任何的輸入錯誤僅在client bean實際實例化時纔會被發現(可能伴隨着致命的錯誤)。

 

 

理解是:idref注入的是字符串,也就是你定義那個bean的id的字符串值,ref注入的是bean實例

                用idref注入時,如果直接使用bean,小弟預計情況是拋空指針異常,又或者,IOC容器根本啓動不來

               idref 暫時沒有使用過,也不知道該在什麼場景下試用,總體來說,感覺用處不大,以上是小弟愚見,有錯請指出

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章