天天看點

spring-注入對象map

一.建立項目

    項目名稱:spring092901

二.添加jar包

    commons-logging.jar

    junit-4.4.jar

    log4j.jar

    spring-beans-3.2.0.RELEASE.jar

    spring-context-3.2.0.RELEASE.jar

    spring-core-3.2.0.RELEASE.jar

    spring-expression-3.2.0.RELEASE.jar

三.添加配置檔案

    1.在項目中建立conf目錄

        /conf

    2.在conf目錄下添加配置檔案

        配置檔案名稱:applicationContext.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:p="http://www.springframework.org/schema/p"

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

        </beans>

四.建立實體bean

    1.在src下建立包

        包名:cn.jbit.spring092901.domain

    2.在包下建立bean

        bean名稱:CountryGeneralSituation.java

        bean内容:    

        public class CountryGeneralSituation {

            private String countryName;//國家名稱

            private String womb;//發源地

            private String relic;//遺址

            //省略get and set     

        }

五.建立業務bean

        包名:cn.jbit.spring092901.collection

        bean名稱:MapFromRef.java

        bean内容:

        public class MapFromRef {

            private Map<String,CountryGeneralSituation> map;

            public Map<String, CountryGeneralSituation> getMap() {

                return map;

            }

            public void setMap(Map<String, CountryGeneralSituation> map) {

                this.map = map;

    3.在核心配置檔案中配置bean

        <bean id="mapfromrefbean" class="cn.jbit.spring092901.collection.MapFromRef">

            <property name="map">

                <map>

                    <entry key="古印度" value-ref="indiaBean"></entry>

                </map>

            </property>

        </bean>

        <bean id="indiaBean" class="cn.jbit.spring092901.domain.CountryGeneralSituation">

            <property name="countryName" value="古印度"></property>

            <property name="womb" value="印度河、恒河流域"></property>

            <property name="relic" value="哈拉巴遺址"></property>

六.測試

    1.在項目中建立test目錄

        /test

    2.在test目錄下建立包

        cn.jbit.spring092901.collection

    3.在包下 建立測試類

        類名:MapFromRefTest.java

        類内容:

        public class MapFromRefTest {

            @Test

            public void testCGS(){

                ClassPathXmlApplicationContext cxac = new ClassPathXmlApplicationContext("classpath:applicationContext.xml");

                MapFromRef mfr = (MapFromRef) cxac.getBean("mapfromrefbean");

                Map map = mfr.getMap();

                CountryGeneralSituation cgs = (CountryGeneralSituation) map.get("古印度");

                System.out.println(cgs.getCountryName());

        }

本文轉自  素顔豬  51CTO部落格,原文連結:http://blog.51cto.com/suyanzhu/1559516