spring-210724-07–IOC容器–Bean管理XML方式-注入集合类型属性&提取注入
Stu.java
package com.bgy.spring.collectiontype;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.Set;
public class Stu {
private String[] arr;
private List<String> list;
private Map<String,String> map;
private Set<String> set;
private List<Courses> coursesList;
public void setCoursesList(List<Courses> coursesList) {
this.coursesList = coursesList;
}
public void setArr(String[] arr) {
this.arr = arr;
}
public void setList(List<String> list) {
this.list = list;
}
public void setMap(Map<String, String> map) {
this.map = map;
}
public void setSet(Set<String> set) {
this.set = set;
}
@Override
public String toString() {
return "Stu{" +"arr=" + Arrays.toString(arr) +", list=" + list +", map=" + map +", set=" + set +
", coursesList=" + coursesList +
'}';
}
}
Courses.java
package com.bgy.spring.collectiontype;
public class Courses {
private String cname;
public void setCname(String cname) {
this.cname = cname;
}
@Override
public String toString() {
return "Courses{" + "cname='" + cname + '\'' + '}';
}
}
collectiontypebean01.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/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="stu" class="com.bgy.spring.collectiontype.Stu">
<property name="arr">
<array>
<value>aimy</value>
<value>tom</value>
</array>
</property>
<property name="list">
<list>
<value>数据结构</value>
<value>操作系统</value>
</list>
</property>
<property name="map">
<map>
<entry key="HTML" value="html"></entry>
<entry key="JAVA" value="java"></entry>
</map>
</property>
<property name="set">
<set>
<value>红色</value>
<value>绿色</value>
</set>
</property>
<property name="coursesList">
<list>
<ref bean="courses01"></ref>
<ref bean="courses02"></ref>
</list>
</property>
</bean>
<bean id="courses01" class="com.bgy.spring.collectiontype.Courses">
<property name="cname" value="数学"></property>
</bean>
<bean id="courses02" class="com.bgy.spring.collectiontype.Courses">
<property name="cname" value="英语"></property>
</bean>
</beans>
Book.java
package com.bgy.spring.collectiontype;
import java.util.List;
public class Book {
private List<String> list;
public void setList(List<String> list) {
this.list = list;
}
@Override
public String toString() {
return "Book{" + "list=" + list + '}';
}
}
collectiontypebean02.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"
xmlns:util="http://www.springframework.org/schema/util"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd">
<util:list id="bookList">
<value>大话设计模式</value>
<value>Java核心技术卷</value>
<value>剑锋offer</value>
</util:list>
<bean id="book" class="com.bgy.spring.collectiontype.Book">
<property name="list" ref="bookList"></property>
</bean>
</beans>
TestCollectionType.java
import com.bgy.spring.collectiontype.Book;
import com.bgy.spring.collectiontype.Stu;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class TestCollectionType {
@Test
public void test01(){
ApplicationContext context = new ClassPathXmlApplicationContext("collectiontypebean01.xml");
Stu stu = context.getBean("stu", Stu.class);
System.out.println(stu);
}
@Test
public void test02(){
ApplicationContext context = new ClassPathXmlApplicationContext("collectiontypebean02.xml");
Book book = context.getBean("book", Book.class);
System.out.println(book);
}
}