在spring中,用ref的属性指定依赖,有3种模式: local,bean 和 parent.
1. 用local属性指定
如果一个Bean与被参考引用的Bean在同一个XML文件中而被参考引用的Bean是用id来命名的,那么就可以使用ref的local属性.这样会让XML解析器更早地在XML文档解析时,验证Bean的id. local属性的值必须与被参考引用的Bean的id属性一致. 如果在同一个XML文件中没有匹配的元素,XML解析器将会产生一个错误.
示例代码如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
"http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<!-- 定义一个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属性指定
最常见的形式,它允许指向的Bean在同一个XML文件中,也允许在不同的XML文件中.
示例代码如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
"http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<!-- 定义一个Bean -->
<bean id="HelloWorld" class="com.gc.action.HelloWorld">
<property name="msg">
<value>bbwl</value>
</property>
<!-- bean属性允许指向的Bean在同一个XML文件中或在不同的XML文件中 -->
<property name="date">
<ref bean="date"/>
</property>
</bean>
<bean id="date" class="java.util.Date" />
</beans>
3. 用parent属性指定
用parent属性指定被参考引用的Bean时,允许引用当前beanfactory或ApplicationContext的父beanfactory或ApplicationContext中的Bean. parent属性的值可以与被参考引用的Bean的id属性相同,也可以与被参考引用的Bean的name属性相同.
示例代码如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
"http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<!-- 定义一个Bean -->
<bean id="HelloWorld" class="com.gc.action.HelloWorld">
<property name="msg">
<value>bbwl</value>
</property>
<!-- parent属性允许引用当前beanfactory或ApplicationContext的 -->
<!-- 父beanfactory或ApplicationContext -->
<property name="date">
<ref parent="date"/>
</property>
</bean>
<bean id="date" class="java.util.Date" />
</beans>
该配置文件暂时还不知怎么用,测试时报错了,存疑......