在spring中,用ref的屬性指定依賴,有3種模式: local, bean 和 parent.
1. 用local屬性指定
如果一個(gè)Bean與被參考引用的Bean在同一個(gè)XML文件中而被參考引用的Bean是用id來(lái)命名的,那么就可以使用ref的local屬性.這樣會(huì)讓XML解析器更早地在XML文檔解析時(shí),驗(yàn)證Bean的id. local屬性的值必須與被參考引用的Bean的id屬性一致. 如果在同一個(gè)XML文件中沒(méi)有匹配的元素,XML解析器將會(huì)產(chǎn)生一個(gè)錯(cuò)誤.
示例代碼如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
"http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<!-- 定義一個(gè)Bean -->
<bean id="HelloWorld" class="com.gc.action.HelloWorld">
<property name="msg">
<value>bbwl</value>
</property>
<!-- local屬性的值必須與被參考引用的Bean的id屬性一致 -->
<property name="date">
<ref local="date"/>
</property>
</bean>
<bean id="date" class="Java.util.Date" />
</beans>
2. 用bean屬性指定
最常見(jiàn)的形式,它允許指向的Bean在同一個(gè)XML文件中,也允許在不同的XML文件中.
3. 用parent屬性指定
用parent屬性指定被參考引用的Bean時(shí),允許引用當(dāng)前BeanFactory或ApplicationContext的父BeanFactory或ApplicationContext中的Bean. parent屬性的值可以與被參考引用的Bean的id屬性相同,也可以與被參考引用的Bean的name屬性相同.