对于集合 使用一般的 name value 是无法注入的,那么我们就在property的子标签就可以使用对应标签进行注入
package org.com.qst.service.impl;
import org.com.qst.service.IAccountService;
import java.util.*;
public class AccountServiceImpl3 implements IAccountService {
private String[] myStr;
private List<String> myList;
private Map<String,String> myMap;
private Set<String> mySet;
private Properties myPro;
public void setMyStr(String[] myStr) {
this.myStr = myStr;
}
public void setMyList(List<String> myList) {
this.myList = myList;
}
public void setMyMap(Map<String, String> myMap) {
this.myMap = myMap;
}
public void setMySet(Set<String> mySet) {
this.mySet = mySet;
}
public void setMyPro(Properties myPro) {
this.myPro = myPro;
}
public void saveAccount() {
System.out.println(Arrays.toString(myStr));
System.out.println(myList);
System.out.println(myMap);
System.out.println(mySet);
System.out.println(myPro);
}
}
xml配置文件
(Spring中<array><list><set>标签可以混合使用的 同样<props><map>也是可以混合使用 所以记住list set两大类标签即可)
<?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
https://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="accountService3" class="org.com.qst.service.impl.AccountServiceImpl3">
<property name="myStr">
<array>
<value>AAA</value>
<value>BBB</value>
<value>CCC</value>
</array>
</property>
<property name="myList">
<list>
<value>AAA</value>
<value>BBB</value>
<value>CCC</value>
</list>
</property>
<property name="mySet">
<set>
<value>AAA</value>
<value>BBB</value>
<value>CCC</value>
</set>
</property>
<property name="myMap">
<map>
<entry key="Ta" value="aaa"></entry>
<entry key="Tb" value="bbb"></entry>
<entry key="Tc" value="ccc"></entry>
</map>
</property>
<property name="myPro">
<props >
<prop key="Ta">aaa</prop>
<prop key="Tb">bbb</prop>
<prop key="Tc">ccc</prop>
</props>
</property>
</bean>
</beans>