具体文件格式
complexinjection.xml
<?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/beanshttp://www.springframework.org/schema/beans/spring-beans.xsd" >
<!-- 构造器注入:简单注入 -->
<bean id="emp" class="construct.easyinjection.employee">
<constructor-arg name="username" value="洲洲"></constructor-arg>
<constructor-arg name="number" value="123456"></constructor-arg>
</bean>
<!-- 构造器注入:复合注入 -->
<bean id="daocheng" class="construct.complexinjection.employeedao"></bean>
<bean id="service" class="construct.complexinjection.employservice">
<constructor-arg name="dao" ref="daocheng"></constructor-arg>
</bean>
<!-- 构造器注入:集合注入 -->
<bean id="list" class="construct.listinjection.list">
<!--set集合-->
<constructor-arg name="set">
<set>
<value>set1</value>
<value>set2</value>
<value>set3</value>
</set>
</constructor-arg>
<!--list集合-->
<constructor-arg name="list">
<list>
<value>list1</value>
<value>list2</value>
<value>list3</value>
</list>
</constructor-arg>
<!--数组集合-->
<constructor-arg name="arr">
<list>
<value>arr1</value>
<value>arr2</value>
<value>arr3</value>
</list>
</constructor-arg>
<!--map集合-->
<constructor-arg name="map">
<map>
<entry key="k1" value="v1"></entry>
<entry key="k2" value="v2"></entry>
<entry key="k3" value="v3"></entry>
</map>
</constructor-arg>
<constructor-arg name="prop">
<value>
k1=p1;
k2=p2;
k3=p3;
</value>
</constructor-arg>
</bean>
</beans>
employee类
package construct.easyinjection;
public class employee {
private String username;
private String number;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getNumber() {
return number;
}
public void setNumber(String number) {
this.number = number;
}
public employee(String username, String number) {
this.username = username;
this.number = number;
}
@Override
public String toString() {
return "employee{" +
"username='" + username + '\'' +
", number='" + number + '\'' +
'}';
}
}
employeedao类
package construct.complexinjection;
public class employeedao {
}
employservice类
package construct.complexinjection;
public class employservice {
private employeedao dao;
public employeedao getDao() {
return dao;
}
public void setDao(employeedao dao) {
this.dao = dao;
}
public employservice(employeedao dao) {
this.dao = dao;
}
@Override
public String toString() {
return "employservice{" +
"dao=" + dao +
'}';
}
}
list集合类
package construct.listinjection;
import java.util.*;
public class list {
private Set<String>set;
private List<String>list;
private String[] arr;
private Map<String,String>map;
private Properties prop;
public list(Set<String> set, List<String> list, String[] arr, Map<String, String> map, Properties prop) {
this.set = set;
this.list = list;
this.arr = arr;
this.map = map;
this.prop = prop;
}
public Set<String> getSet() {
return set;
}
public void setSet(Set<String> set) {
this.set = set;
}
public List<String> getList() {
return list;
}
public void setList(List<String> list) {
this.list = list;
}
public String[] getArr() {
return arr;
}
public void setArr(String[] arr) {
this.arr = arr;
}
public Map<String, String> getMap() {
return map;
}
public void setMap(Map<String, String> map) {
this.map = map;
}
public Properties getProp() {
return prop;
}
public void setProp(Properties prop) {
this.prop = prop;
}
@Override
public String toString() {
return "list{" +
"set=" + set +
",\n list=" + list +
",\n arr=" + Arrays.toString(arr) +
",\n map=" + map +
",\n prop=" + prop +
'}';
}
}
test测试类
package construct.test;
import construct.complexinjection.employservice;
import construct.easyinjection.employee;
import construct.listinjection.list;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("classpath:construct/xml/complexinjection.xml")
public class test {
@Autowired
private employee emp;
@Autowired
private employservice service;
@Autowired
private list list;
@Test
public void test(){
System.out.println(emp);
System.out.println("-----------------------");
System.out.println(service);
System.out.println("-----------------------");
System.out.println(list);
}
}
测试结果: