**1、**上文中已经介绍Spring框架创建对象的三种方法,其中使用有参构造方法时,可以用给对象属性赋值,除了上述对象属性赋值方法以外,还可以使用set方法给对象属性赋值。
**2、**本文使用set方法给对象属性赋值主要分为以下几种:基本数据类型及类似String的简单数据类型、Set<?>集合、List<?>集合、String[]、Map<?,?>集合及Properties的赋值介绍。
3、赋值测试的封装实体类:
PeopleSetValue.java
package Demo01.Model;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.Set;
/**
* 使用Spring配置文件中创建对象时,使用set方法给对象中的属性赋值
*/
public class PeopleSetValue {
private Integer id;
private String name;
private char sex;
private Set<String> sets;
private List<String> list;
private String[] array;
private Map<String,String> map;
private Desk desk;
public Desk getDesk() {
return desk;
}
public void setDesk(Desk desk) {
this.desk = desk;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public char getSex() {
return sex;
}
public void setSex(char sex) {
this.sex = sex;
}
public Set<String> getSets() {
return sets;
}
public void setSets(Set<String> sets) {
this.sets = sets;
}
public List<String> getList() {
return list;
}
public void setList(List<String> list) {
this.list = list;
}
public String[] getArray() {
return array;
}
public void setArray(String[] array) {
this.array = array;
}
public Map<String, String> getMap() {
return map;
}
public void setMap(Map<String, String> map) {
this.map = map;
}
@Override
public String toString() {
return "PeopleSetValue{" +
"id=" + id +
", name='" + name + '\'' +
", sex=" + sex +
", sets=" + sets +
", list=" + list +
", array=" + Arrays.toString(array) +
", map=" + map +
", desk=" + desk +
'}';
}
}
4、Spring配置文件ApplicationContext.xml配置
4.1、创建对象并给基本数据类型赋值方法
<bean id="PeoSetValue" class="Demo01.Model.PeopleSetValue">
<!--当属性类型是基本数据类型或者类似String的简单数据类型时的赋值方法-->
<property name="id" value="9">
</property>
<property name="name">
<value>测试</value>
</property>
<property name="sex">
<value>男</value>
</property>
4.2、Set<?>集合赋值方法
<!--给Set集合类型赋值-->
<property name="sets">
<set>
<value>1</value>
<value>2</value>
<value>3</value>
<value>4</value>
<value>5</value>
</set>
</property>
4.3、Lits<?>集合赋值方法
<!--给List集合类型赋值-->
<!--当List中只有一个值是可以采用以下方法-->
<!--<property name="list" value="123"></property>-->
<!--当List中需要多个值时:-->
<property name="list">
<list>
<value>11</value>
<value>22</value>
<value>33</value>
</list>
</property>
4.4、Array数组(以String[] 数组为例)赋值方法
<!--给数组赋值,与List结合相似,当数组中只有一个值是可以使用value属性直接赋值-->
<!--
<property name="array" value="456"></property>
-->
<property name="array">
<array>
<value>44</value>
<value>55</value>
<value>66</value>
</array>
</property>
4.5、Map<?,?>集合赋值方法
<!--给Map类型属性赋值-->
<property name="map">
<map>
<entry key="one">
<value>map1</value>
</entry>
<entry key="two">
<value>map2</value>
</entry>
<entry key="three" value="map3"></entry>
</map>
</property>
4.6、扩展介绍Properties赋值方法
<!--扩展:给Properties类型的属性赋值-->
<!--<property name="pros">
<props>
<prop key="prop1">p1</prop>
<prop key="prop2">p2</prop>
</props>
</property>-->
需要注意的是Properties类型属性赋值只有这一种方法:p1。
4.7、引用外部对象
<!--此处使用ref属性引入其他对象的方法可以简单理解为依赖注入(DI)-->
<property name="desk" ref="dk"></property>
</bean>