<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
定义。