Spring容器支持多种装配方式XML配置,注解,Java配置等多种装配方式,其中基于注解的装配是最受欢迎的。Spring提供了两种XML装配方式,构造方法注入和setter方法注入:
构造方法注入装配Bean时,Bean的实现类需要提供带参的构造方法,并且在配置文件中使用<bean>的子元素<constructor-arg>来定义构造方式的参数;
setter方法注入装配Bean时,Bean需要提供一个默认的无参构造方法,并且提供对应的setter方法,还需要<bean>的子元素<prototype>为每个属性注入值。
1.创建Bean的实现类,使用构造方法注入
public class ComplexUser {
private String uname;
private List<String> hobbyList;
private Map<String,String> residenceMap;
private Set<String> aliasSet;
private String[] array;
/**
* 使用构造方法注入,需要带参的构造方法
*/
public ComplexUser(String uname, List<String> hobbyList, Map<String, String> residenceMap,
Set<String> aliasSet, String[] array) {
this.uname = uname;
this.hobbyList = hobbyList;
this.residenceMap = residenceMap;
this.aliasSet = aliasSet;
this.array = array;
}
@Override
public String toString() {
return "ComplexUser{" +
"uname='" + uname + '\'' +
", hobbyList=" + hobbyList +
", residenceMap=" &#