Spring中引用标签ref和属性ref
2017-12-15 14:21
281 查看
ref作为属性
<bean id="students" class="com.yiwen.Students"> <property name="group" ref="group"> </bean> <bean id="group" class="com.yiwen.Group" />
ref作为标签
local=”group” 表示在该xml文件中查找group(Spring4.0 没有local属性了,它的作用其实和ref属性一样,用属性也行)<bean id="students" class="com.yiwen.Students"> <property name="group" > <ref local="group"> </property> </bean> <bean id="group" class="com.yiwen.Group">
bean=”group” 表示全局查找id为group的bean,可在不同的xml中查找group
spring-main.xml
``` <bean id="students" class="com.yiwen.Students"> <property name="group" > <ref bean="group"> </property> </bean> ```
spring-part.xml
<bean id="group" class="com.yiwen.Group">
这样spring-main.xml中一样可以找到spring-part.xml中的id为group的bean
使用ref标签的实例
虽然直接使用ref属性非常简单方便,但是有时候xml文件存在多个,利用bean,不管在不在一个xml文件中都可以识别到。编写三个类School 和Students Teachers
Teachers
public class Teachers { private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } }
Students
public class Students { private String name ; public String getName() { return name; } public void setName(String name) { this.name = name; } }
School
public class School { private Students students; private Teachers teachers; public School(Students students, Teachers teachers) { this.students = students; this.teachers = teachers; } public Students getStudents() { return students; } public Teachers getTeachers() { return teachers; } }
配置xml文件
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <bean id="school" class="com.yiwen.test6.School"> <constructor-arg name="students"> <ref bean="students"></ref> </constructor-arg> <constructor-arg name="teachers"> <ref bean="teachers"></ref> </constructor-arg> </bean> <bean id="students" class="com.yiwen.test6.Students" > <property name="name"> <value type="java.lang.String">yiwen</value> </property> </bean> <bean id="teachers" class="com.yiwen.test6.Teachers"> <property name="name"> <value type="java.lang.String">zhangsan</value> </property> </bean> </beans>
测试类
import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; public class App { public static void main(String[] args) { ApplicationContext context=new ClassPathXmlApplicationContext("test6.xml"); School school=(School)context.getBean("school"); System.out.print("student name:"+school.getStudents().getName()+"teacher name :"+school.getTeachers().getName()); } }
结果如下所示:
student name:yiwenteacher name :zhangsan
表明Students和Teacher的bean已经装配到了School中了。
相关文章推荐
- spring property标签中的 ref属性和ref 标签有什么不同? 如下:<property name="a" ref="b" />
- Spring property标签ref属性和ref标签区别
- Spring <property 的 ref 属性建立 bean 之前的引用关系
- spring property标签中的 ref属性和ref 标签有什么不同? 如下:<property name="a" ref="b" />
- [转]spring property标签中的 ref属性和ref 标签有什么不同
- Spring学习笔记 关于Bean定义的重用-使用abstract以及parent标签属性
- spring中用p标签配置bean的属性
- 理解Spring配置文件中的property标签中的属性
- Spring学习笔记 关于Bean定义的重用-使用abstract以及parent标签属性
- Spring-属性文件自身的引用03
- Vue之引用DOM的ref属性
- Spring配置中引用外部属性文件
- Spring 配置文件 属性 ref bean和local的区别
- Spring中的ref标签的使用
- spring笔记——ref属性的设定
- Spring ref属性配置
- Spring @Resource 标签引用bean的方式
- Spring使用注解的方式配置bean的属性-bean之间的引用关系
- Spring Bean标签autowirte属性取值集合
- spring中用ref属性指定的三种方法