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
    1.在src下创建包
        包名:cn.jbit.spring092901.collection
    2.在包下创建bean
        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>
        </bean>
六.测试
    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());
            }
        }

你可能感兴趣的:(spring,map,注入对象)