用ref的属性指定依赖的3种模式

前端之家收集整理的这篇文章主要介绍了用ref的属性指定依赖的3种模式前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

在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>

配置文件暂时还不知怎么用,测试时报错了,存疑......

猜你在找的设计模式相关文章