<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定义。
感谢原文作者的用心编写,对我的帮助很大,转载到自己博客是因为以免以后自己遗忘.
原文链接:http://suan2046.iteye.com/blog/290340
新闻热点
疑难解答