今天在做SSH框架Demo实例时,在ApplicationResources.properties文件时对<ref bean>与<ref local>感到不解,经查找资料才弄明白,如下:
<
bean
id
=
"userDAOProxy"
class
=
"org.springframework.transaction.interceptor.TransactionProxyFactoryBean"
>
<
property
name
=
"transactionManager"
>
<
ref
bean
=
"transactionManager"
/>
</
property
>
<
property
name
=
"target"
>
<
ref
local
=
"UserDAO"
/>
</
property
>
</
bean
>
1
、用
local
属性指定目标
bean
可以利用
xml
解析器的能力在同一个文件中验证
xml id
引用
.
如果在同一个文件中没有匹
配的元素
,xml
解析器就会产生一个
error,
所以如果目标
bean
在同一个
xml
文件中
,
那么用
local
形式是最好的选择
.
2
、可以这么说,
<ref bean
是寻找全局中的
bean; <ref local
是寻找本
xml
文件中的
bean
3
、
<ref>
提供了如下几方面的属性
:
1)bean:
在当前
Spring XML
配置文件中,或者在同一
BeanFactory(ApplicationContext)
中的其他
JavaBean
中
.
2)local:
在当前
Spring XML
配置文件中
.
其依赖的
JavaBean
必须存在于当前
Spring XML
培植文件中
.
如果借助 于
Spring IDE,
则在编译期可以对其依赖的
JavaBean
进行验证。基于
local
方式,开发者能够使用到
XML
本身提供
的优势,而进行验证。
3)parent:
用于指定其依赖的父
JavaBean
定义。