IOC. DI(依赖注入 为数组和集合类型属性赋值)
public class Student {
private Integer sid;
private String sname;
private String gender;
private String[] hobby;
...
}
<bean id="studentFive" class="com.atguigu.spring.pojo.Student">
<property name="sid" value="1002"></property>
<property name="sname" value="赵六"></property>
<property name="gender" value="男"></property>
<property name="hobby">
<!-- array:专门为数组类型属性赋值 -->
<!-- 如果数据是字面量类型,用value,是类类型,用ref -->
<array>
<value>抽烟</value>
<value>喝酒</value>
<value>烫头</value>
</array>
</property>
</bean>
list集合类型的属性赋值
public class Clazz {
private Integer cid;
private String cname;
private List<Student> students;
}
<!-- 2. 引用list集合类型的bean -->
<!-- 配置一个集合类型的bean,需要使用util约束:直接用,
自动将约束导入进来 xmlns:util="http://www.springframework.org/schema/util"
如果没有这个约束,标签就用不了
-->
<util:list id="studentList">
<ref bean="studentOne"></ref>
<ref bean="studentTwo"></ref>
<ref bean="studentThree"></ref>
</util:list>
<bean id="clazzOne" class="com.atguigu.spring.pojo.Clazz">
<property name="cid" value="111"></property>
<property name="cname" value="最强spring"></property>
<property name="students" ref="studentList"></property>
</bean>
Map集合类型属性赋值
第一中方式:
package com.atguigu.spring.pojo;
public class Teacher {
private Integer tid;
private String tname;
...
}
public class Student {
private Integer sid;
private String sname;
private String gender;
private String[] hobby;
private Clazz clazz;
private Map<String,Teacher> teacherMap;
...
}
<bean id="studentOne" class="com.atguigu.spring.pojo.Student" >
<property name="sid" value="1001"></property>
<property name="sname" value="张三"></property>
<property name="gender" value="男"></property>
<property name="teacherMap" >
<map>
<!--
ertry:表示类型,map集合的键和值
key:是字面量类型String直接用key
值是类类型:加上ref
-->
<entry key="10086" value-ref="techerOne"></entry>
<entry key="10001" value-ref="techerTwo"></entry>
</map>
</property>
</bean>
<bean id="techerOne" class="com.atguigu.spring.pojo.Teacher">
<property name="tid" value="10086"></property>
<property name="tname" value="打包"></property>
</bean>
<bean id="techerTwo" class="com.atguigu.spring.pojo.Teacher">
<property name="tid" value="10001"></property>
<property name="tname" value="no包"></property>
</bean>
第二种方式:
<bean id="techerOne" class="com.atguigu.spring.pojo.Teacher">
<property name="tid" value="10086"></property>
<property name="tname" value="打包"></property>
</bean>
<bean id="techerTwo" class="com.atguigu.spring.pojo.Teacher">
<property name="tid" value="10001"></property>
<property name="tname" value="no包"></property>
</bean>
<util:map id="teacherMap">
<entry key="10086" value-ref="techerOne"></entry>
<entry key="100010" value-ref="techerTwo"></entry>
</util:map>
<bean id="studentOne" class="com.atguigu.spring.pojo.Student" >
<property name="sid" value="1001"></property>
<property name="sname" value="张三"></property>
<property name="gender" value="男"></property>
<property name="teacherMap" ref="teacherMap"></property>
</bean>
注解和xml方式:
一起使用的,注解:是加在类上的
基于xml的:写在xml中
如果自己写的类,加上一个注解没问题。
浙公网安备 33010602011771号