Spring中<ref local=""/>与<ref bean=""/>区别

原创
2014/08/18 18:14
阅读数 871

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


展开阅读全文
打赏
0
5 收藏
分享
加载中
更多评论
打赏
0 评论
5 收藏
0
分享
返回顶部
顶部