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

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

 (2011-03-19 19:21:58)
标签: 

杂谈

 



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

posted @ 2015-10-11 23:21  java资料收集  阅读(353)  评论(0编辑  收藏  举报