一:为构造方法的参数设置值
首先写两个类:
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.Set;
public class Student {
private int age;
private String name;
private Date birthday;
private int [] scores;
private List<String> names;
private Set<String> id;
private Map<String, Date> birthdays;
public Student(int age, String name) {
this.age = age;
this.name = name;
}
public Student(Date birthday) {
this.birthday = birthday;
System.out.println(birthday);
}
public Student(int [] scores) {
this.scores = scores;
for (int i : scores) {
System.out.println(i);
}
System.out.println("数组");
}
public Student(List<String> names) {
this.names = names;
for (String string : names) {
System.out.println(string);
}
System.out.println("list集合");
}
public Student(Set<String> id) {
this.id = id;
for (String string : id) {
System.out.println(string);
}
System.out.println("set集合");
}
public Student(Map<String, Date> birthdays) {
this.birthdays = birthdays;
Set<String> set = birthdays.keySet();
for (String key : set) {
System.out.println(birthdays.get(key));
}
}
@Override
public String toString() {
return "Student [age=" + age + ", name=" + name + "]";
}
}
import java.util.Date;
import java.util.List;
public class Fa {
private List<Date> birs;
public Fa(List<Date> birs) {
this.birs = birs;
for (Date date : birs) {
System.out.println(date);
}
}
}
然后在xml配置文件中输入:
1.对于基本数据类型和String类型
<!-- 对于基本数据类型和String类型可以直接用value属性赋值 -->
<!--
<bean class="com.jd.vo.Student">
<constructor-arg name="name" value="tom"></constructor-arg>
<constructor-arg name="age" value="12"></constructor-arg>
</bean>-->
2.引用数据类型赋值用ref属性
<bean class="java.util.Date" id="date"></bean>
<bean class="com.jd.vo.Student">
<constructor-arg name="birthday" ref="date"></constructor-arg>
</bean>
- 数组使用array子标签设置元素值
<bean class="com.jd.vo.Student">
<constructor-arg name="scores" >
<array>
<value>99</value>
<value>89</value>
</array>
</constructor-arg>
</bean>
4.list集合用list子标签设置值
<bean class="com.jd.vo.Student">
<constructor-arg name="names" >
<list>
<value>li</value>
<value>wang</value>
</list>
</constructor-arg>
</bean>
5.set集合用set子标签设置值
<bean class="com.jd.vo.Student">
<constructor-arg name="id" >
<set>
<value>1234</value>
<value>7896</value>
</set>
</constructor-arg>
</bean>
6.如果数组,list set 存的是基本数据类型或String,则使用value标签。若是引用数据类型,用ref标签或者bean标签
<bean class="com.jd.vo.Fa">
<constructor-arg name="birs" >
<list>
<bean class="java.util.Date"></bean>
<ref bean="date"/>
</list>
</constructor-arg>
</bean>
7.如果map集合的key或value是基本数据类型或String类型,则用key或value标签属性。若是引用数据类型,应该用key-ref,value-ref标签属性
<bean class="com.jd.vo.Student">
<constructor-arg name="birthdays" >
<map>
<entry key="li" value-ref="date"></entry>
<entry key="i" value-ref="date"></entry>
</map>
</constructor-arg>
</bean>
二:为类中的全局变量设置值:此过程几乎与设置构造方法的参数默认值的过程一致
<!--为基本数据类型,String类型,以及引用类型赋值-->
<bean class="java.util.Date" id="date"></bean>
<bean class="com.jd.vo.Student">
<property name="age" value="12"></property>
<property name="name" value="li"></property>
<property name="birthDay" ref="date"></property>
</bean>