原文:http://blog.sina.com.cn/s/blog_70aaaa7d0100pfd1.html
<ref local="xx"/>
用"local"屬性指定目标其實是指向同一檔案内對應"id"屬性值為此"local"值的索引
"local"屬性的值必須和目标bean的id屬性相同。如果同一檔案内沒有比對的元素,xml解析器将提示錯誤。同樣,如果目标在同一xml檔案内,使用"local"變量是最好的選擇(為了盡可能早地知道錯誤)
<ref bean="xx"/>
用"bean"屬性指定目标bean是最正常的形式,這允許建立索引到任何同一個容器内的bean(無論是否在同一xml 檔案中)或者父級的容器内的bean。"bean"屬性的值可以和目标bean的"id"屬性相同,也可以和目标bean的"name"屬性内的一個值相同
可以這麼說, <ref bean=""/> 是尋找全局中的 bean; <ref local=""/> 是尋找本 xml 檔案中的 bean
<ref> 提供了如下幾方面的屬性 :
1)bean: 在目前 spring xml 配置檔案中,或者在同一 beanfactory(applicationcontext) 中的其他 javabean 中 .
2)local: 在目前 spring xml 配置檔案中 . 其依賴的 javabean 必須存在于目前 spring xml 配置 檔案中 . 如果借助于 spring ide, 則在編譯期可以對其依賴的 javabean 進行驗證。基于 local 方式,開發者能夠使用到 xml 本身提供 的優勢,而進行驗證。
3)parent: 用于指定其依賴的父 javabean 定義。