下面用示例来说明idref元素的作用
首先下面的xml配置了idref元素
<object id="theTargetObject" type="...">
. . .
</object>
<object id="theClientObject" type="...">
<property name="targetName">
<idref object="theTargetObject"/>
</property>
</object>
idref objecgt 在theClientObject对象里面引用了theTargetObject对象的名称,那么它是干什么用的?它的作用就是检测在idref引用的对象是否真正在XML里面定义过!
使用idref标记允许容器在部署时 验证所被引用的对象是否存在
第二种书写形式
<object id="theTargetObject" type="...">
. . .
</object>
<object id="theClientObject" type="...">
<property name="targetName" value="theTargetObject"/>
</object>
实际它与第一种书写形式的功能完全一样,只是它没有检测是否存在"theTargetObject"
最后,如果定义的对象在同一个XML文件中时,可以使用local
<property name="targetName">
<idref local="theTargetObject"/>
</property>