• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
seven_hu
博客园    首页    新随笔    联系   管理    订阅  订阅

bean中集合属性的配置

  在实际的开发中,有的bean中会有集合属性,如下:

package com.sevenhu.domain;

import java.util.List;

/**
 * Created by hu on 2016/3/31.
 */
public class RichMen {
    private List<Car> cars;

    public void setCars(List<Car> cars) {
        this.cars = cars;
    }
}

 那么集合属性的配置如下:

       <bean id="richMan1" class="com.sevenhu.domain.RichMen">
              <property name="cars">
                     <!--使用list集合来装配集合属性-->
                     <list>
                            <ref bean="car1"/>
                            <ref bean="car2"/>
                     </list>
              </property>
       </bean>

  或还可以如下配置,将集合属性在外部配置,可以实现共享,如下:

       <!--声明集合类型的bean-->
       <util:list id="cars">
              <ref bean="car1"/>
              <ref bean="car2"/>
       </util:list>
       <bean id="richMan2" class="com.sevenhu.domain.RichMen">
              <property name="cars" ref="cars"></property>
       </bean>

  那么Map类型的集合属性的配置过程如下,首先,建立一个含有Map类型集合属性的bean类:

package com.sevenhu.domain;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import java.util.Iterator;
import java.util.Map;
import java.util.Set;

/**
 * Created by hu on 2016/3/31.
 */
public class MapPropertyTest {
    private Map nameAndAge;

    public void setNameAndAge(Map nameAndAge) {
        this.nameAndAge = nameAndAge;
    }
    @Override
    public String toString(){
        String str="";
        String tempStr="";
        Set<Map.Entry> entrySet=nameAndAge.entrySet();
        Iterator<Map.Entry> iterator=entrySet.iterator();
        while (iterator.hasNext()){
            Map.Entry entry=iterator.next();
            tempStr= entry.getKey()+":"+entry.getValue();
            str=str+tempStr+"\n";
        }
       return str;
    }
    public static void main(String[] args){
        ApplicationContext applicationContext=new ClassPathXmlApplicationContext("beans.xml");
        MapPropertyTest mapPropertyTest= (MapPropertyTest) applicationContext.getBean("mapPropertyTest");
        System.out.println(mapPropertyTest);
    }
}

  然后配置代码如下:

       <!--Map类型的集合属性-->
       <bean id="mapPropertyTest" class="com.sevenhu.domain.MapPropertyTest">
              <property name="nameAndAge">
                     <map>
                            <entry>
                                   <key>
                                          <value>hujingwei</value>
                                   </key>
                                   <value>23</value>
                            </entry>
                     </map>
              </property>
       </bean>

  

posted @ 2016-03-31 18:09  seven_hu  阅读(514)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3