一:首先创建两个类
①:注入列表中的值为:字符串
假设:类一:demo1配置属性 类二:demo2 测试类
1:在demo 1创建几种集合类型属性,并且生成集合类型的set方法
public class demo1 {
//数组类型属性
private String [] course;
//list集合类型属性
private List<String> list;
//map集合类型属性
private Map<String,String> map;
//set结合类型属性
private Set<String> sets;
public void setSets(Set<String> sets) {
this.sets = sets;
}
public void setCourse(String[] course) {
this.course = course;
}
public void setList(List<String> list) {
this.list = list;
}
public void setMap(Map<String, String> map) {
this.map = map;
}
}
2:在demo1中创建一个方法,使得最后能够调用此方法来输出注入的集合属性的值。
public void play(){
System.out.println(Arrays.toString(course)); //注意:string类型定义数组不能直接去输出,通过Arrays.tostring去输出
System.out.println(list);
System.out.println(map);
System.out.println(sets);
}
二:配置xml文件,向demo1创建的列表注入属性值。
<?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="d1" class="new_study.java_file.list.demo1">
<property name="course">
<array>
<value>spring1</value>
<value>spring2</value>
</array>
</property>
<property name="list">
<list>
<value>spring3</value>
<value>spring4</value>
</list>
</property>
<property name="map">
<map>
<entry key="JAVA" value="java"></entry>
<entry key="PHP" value="php"></entry>
</map>
</property>
<property name="sets">
<set>
<value>spring5</value>
<value>spring6</value>
</set>
</property>
</bean>
</beans>
三:创建一个测试类,来调用demo1使得demo1中play方法,使得注入的属性值输出。
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class testdemo {
@Test
public void testdemo(){
ApplicationContext context = new ClassPathXmlApplicationContext("new_study/java_file/list/bean.xml");
demo1 d1 = context.getBean("d1",demo1.class);
d1.play();
}
}
输出结果如下:
②:注入列表中的值为类:
1:在上面注入字符串的基础上,在类demo1中创建一个新的列表,列表中的属性值为类,并生成新属性的set方法
private List<demo2> demo2List;
public void setDemo2List(List<demo2> demo2List) {
this.demo2List = demo2List;
}
2:在配置文件中配置创建新列表的配置
<bean>
<property name="demo2List">
<list>
<ref bean="a1"></ref>
<ref bean="a2"></ref>
</list>
</property>
</bean>
<bean id="a1" class="new_study.java_file.list.demo2">
<property name="dname" value="马"></property>
</bean>
<bean id="a2" class="new_study.java_file.list.demo2">
<property name="dname" value="马"></property>
</bean>
3:输出在配置文件中往新建列表注入的属性值:从测试类输出
完整代码如下:
demo1:
import java.util.List;
import java.util.Map;
import java.util.Set;
public class demo1 {
//数组类型属性
private String [] course;
//list集合类型属性
private List<String> list;
//map集合类型属性
private Map<String,String> map;
//set结合类型属性
private Set<String> sets;
private List<demo2> demo2List;
public void setDemo2List(List<demo2> demo2List) {
this.demo2List = demo2List;
}
public void setSets(Set<String> sets) {
this.sets = sets;
}
public void setCourse(String[] course) {
this.course = course;
}
public void setList(List<String> list) {
this.list = list;
}
public void setMap(Map<String, String> map) {
this.map = map;
}
public void play(){
System.out.println(Arrays.toString(course));
System.out.println(list);
System.out.println(map);
System.out.println(sets);
System.out.println(demo2List);
}
}
**
demo2:
**
package new_study.java_file.list;
public class demo2 {
private String dname;
public void setDname(String dname) {
this.dname = dname;
}
@Override
public String toString() {
return "demo2{" +
"dname='" + dname + '\'' +
'}';
}
}
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="d1" class="new_study.java_file.list.demo1">
<property name="course">
<array>
<value>spring1</value>
<value>spring2</value>
</array>
</property>
<property name="list">
<list>
<value>spring3</value>
<value>spring4</value>
</list>
</property>
<property name="map">
<map>
<entry key="JAVA" value="java"></entry>
<entry key="PHP" value="php"></entry>
</map>
</property>
<property name="sets">
<set>
<value>spring5</value>
<value>spring6</value>
</set>
</property>
<property name="demo2List">
<list>
<ref bean="a1"></ref>
<ref bean="a2"></ref>
</list>
</property>
</bean>
<bean id="a1" class="new_study.java_file.list.demo2">
<property name="dname" value="马"></property>
</bean>
<bean id="a2" class="new_study.java_file.list.demo2">
<property name="dname" value="马"></property>
</bean>
</beans>
测试类输出配置的文件:
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class testdemo {
@Test
public void testdemo(){
ApplicationContext context = new ClassPathXmlApplicationContext("new_study/java_file/list/bean.xml");
demo1 d1 = context.getBean("d1",demo1.class);
d1.play();
}
}
输出结果:
注意:这里的案例是以List组进行,其他例如Map.Set等都可以,这里就不一一介绍
下面为你介绍的是如何创建一个公共配置属性值,让每一个组都可以添加
意思就是在配置文件中配置几个公共的属性值,在创建的组中都可以添加这几个属性值
案例类:demo3:
package new_study.java_file.list;
import java.util.List;
public class demo3 {
private List<String> list;
public void setList(List<String> list) {
this.list = list;
}
public void play(){
System.out.println(list);
}
}
配置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="demo3list">
<value>m</value>
<value>y</value>
<value>c</value>
</util:list>
<bean id="bean2test" class="new_study.java_file.list.demo3">
<property name="list" ref="demo3list"></property>
</bean>
</beans>
测试类:
package new_study.java_file.list;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class testdemo {
@Test
public void testdemo2(){
ApplicationContext context1 = new ClassPathXmlApplicationContext("new_study/java_file/list/bean2.xml");
demo3 d3 = context1.getBean("bean2test",demo3.class);
d3.play();
}
}
输出结果: