今天在做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
定義。