Spring3之 集合对象属性注入

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">
 -->

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值