com.spring305.test.beanInit.cpo.User.java
private int id; private String name; public User(){ System.out.println(User.class); }
setter ,getter方法略去。
com.spring305.test.beanInit.cpo.CollectionPo.java
import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Set; public class CollectionPo { private int id; private String name; private String[] testArray; private User[] useArray; private List testList; private Map testMap; private Set testSet; //对象 private User user; // private Map<Integer, Float> maps ; public CollectionPo(){ } public void test(){ System.out.println(id+"_"+name); for (int i = 0; i < testArray.length; i++) { System.out.println("testArray "+testArray[i]); } for (int i = 0; i < useArray.length; i++) { System.out.println("useArray "+((User)useArray[i]).getName()); } for (int i = 0; i < testList.size(); i++) { System.out.println("testList "+testList.get(i)); } Iterator it = testMap.entrySet().iterator(); //Iterator it2 = testMap.keySet().iterator(); while (it.hasNext()) { System.out.println("testMap "+it.next()); } Iterator it3 = testSet.iterator(); //Iterator it2 = testMap.keySet().iterator(); while (it3.hasNext()) { System.out.println("testSet "+it3.next()); } System.out.println(user.getId()+"_"+user.getName() + " User"); Iterator mapList = maps.entrySet().iterator(); //Iterator it2 = testMap.keySet().iterator(); while (mapList.hasNext()) { System.out.println("mapList "+mapList.next()); } } 。。。getter,setter方法略去 }
com.spring305.test.beanInit.TestCollectionBeanInit.java
@Test public void InitSingeBean() { ApplicationContext context = new ClassPathXmlApplicationContext("testCollectionBeanInit.xml"); CollectionPo collectionPo = (CollectionPo) context.getBean("collectionPo"); collectionPo.test(); }
src/testCollectionBeanInit.xml
<bean id="userBean" class="com.spring305.test.beanInit.cpo.User"> <property name="id" value="123"></property> <property name="name" value="名字"></property> </bean> <!-- <value/>这样就可以为string类型的设置null值 <null/>也行 --> <bean id="collectionPo" class="com.spring305.test.beanInit.cpo.CollectionPo"> <property name="id"><value>123</value></property> <property name="name"><null/></property> <property name="testArray"> <list> <value>Hello!1!</value> <value>Hello!2!</value> <value>Hello!3!</value> </list> </property> <property name="useArray"> <list> <ref bean="userBean"/> <ref bean="userBean"/> <ref bean="userBean"/> </list> </property> <property name="testList"> <list> <value>Hello!1!</value> <ref bean="userBean"/> <ref bean="userBean"/> </list> </property> <property name="testMap"> <map> <!-- <entry key ="a ref" value-ref="userBean"/> --> <entry key="somekey1"> <ref bean="userBean"/> </entry> <entry key="somekey2"> <value>Hello!1!</value> </entry> </map> </property> <property name="testSet"> <map> <entry key="somekey1"> <ref bean="userBean"/> </entry> <entry key="somekey2"> <value>Hello!1!</value> </entry> <!-- <entry key="somekey3" value="hello"/> --> </map> </property> <property name="user"> <bean class="com.spring305.test.beanInit.cpo.User"> <property name="id" value="123"></property> <property name="name"><null/></property> </bean> </property> <property name="maps"> <props> <prop key="12">12.3</prop> <prop key="34">31.2</prop> <prop key="1">31.2</prop> </props> <!-- <property name="maps"> <map> <entry key="1" value="9.99"/> <entry key="2" value="2.75"/> <entry key="3" value="3.99"/> </map> </property> --> </property> </bean> <!-- xmlns:p="http://www.springframework.org/schema/p" p名称空间没有标准的XML格式定义灵活 集合可以通过 parent="XX" props merge="true" 来对集合合并 -->
<!-- <property name="user"> <bean class="com.spring305.test.beanInit.cpo.User"> <property name="id" value="123"></property> <property name="name" value="名字"></property> </bean> </property>
--> <!-- spring3文档中其它配置 'c-namespace' declaration <bean id="foo" class="x.y.Foo" c:bar-ref="bar" c:baz-ref="baz" c:email="foo@bar.com"> --> <!-- 'c-namespace' index declaration <bean id="foo" class="x.y.Foo" c:_0-ref="bar" c:_1-ref="baz"> -->