用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"?>@H_404_9@<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"@H_404_9@"http://www.springframework.org/dtd/spring-beans.dtd">@H_404_9@<beans>@H_404_9@ <!-- 定义一个Bean -->@H_404_9@ <bean id="HelloWorld" class="com.gc.action.HelloWorld">@H_404_9@ <property name="msg">@H_404_9@ <value>bbwl</value>@H_404_9@ </property>@H_404_9@ <!-- local属性的值必须与被参考引用的Bean的id属性一致 -->@H_404_9@ <property name="date">@H_404_9@ <ref local="date"/>@H_404_9@ </property>@H_404_9@ </bean>@H_404_9@ <bean id="date" class="java.util.Date" />@H_404_9@</beans>

2. 用bean属性指定

最常见的形式,它允许指向的Bean在同一个XML文件中,也允许在不同的XML文件中.

示例代码如下:

<?xml version="1.0" encoding="UTF-8"?>@H_404_9@<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"@H_404_9@"http://www.springframework.org/dtd/spring-beans.dtd">@H_404_9@<beans>@H_404_9@ <!-- 定义一个Bean -->@H_404_9@ <bean id="HelloWorld" class="com.gc.action.HelloWorld">@H_404_9@ <property name="msg">@H_404_9@ <value>bbwl</value>@H_404_9@ </property>@H_404_9@ <!-- bean属性允许指向的Bean在同一个XML文件中或在不同的XML文件中 -->@H_404_9@ <property name="date">@H_404_9@ <ref bean="date"/>@H_404_9@ </property>@H_404_9@ </bean>@H_404_9@ <bean id="date" class="java.util.Date" />@H_404_9@</beans>

3. 用parent属性指定

用parent属性指定被参考引用的Bean时,允许引用当前beanfactory或ApplicationContext的父beanfactory或ApplicationContext中的Bean. parent属性的值可以与被参考引用的Bean的id属性相同,也可以与被参考引用的Bean的name属性相同.

示例代码如下:

<?xml version="1.0" encoding="UTF-8"?>@H_404_9@<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"@H_404_9@"http://www.springframework.org/dtd/spring-beans.dtd">@H_404_9@<beans>@H_404_9@ <!-- 定义一个Bean -->@H_404_9@ <bean id="HelloWorld" class="com.gc.action.HelloWorld">@H_404_9@ <property name="msg">@H_404_9@ <value>bbwl</value>@H_404_9@ </property>@H_404_9@ <!-- parent属性允许引用当前beanfactory或ApplicationContext的 -->@H_404_9@ <!-- 父beanfactory或ApplicationContext -->@H_404_9@ <property name="date">@H_404_9@ <ref parent="date"/>@H_404_9@ </property>@H_404_9@ </bean>@H_404_9@ <bean id="date" class="java.util.Date" />@H_404_9@</beans>

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

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