Sunday, 8 April 2018

Spring CI with Map

We can inject the map values by constructor in spring frame work. We can inject the map as follows.

package com.bk.spring.test;

import java.util.Map;

public class TestBean {

    private String id;
    private String question;
    private Map<String, String> answers;

    public TestBean(String id, String question, Map<String, String> answers) {
        this.id = id;
        this.question = question;
        this.answers = answers;
    }

    public void displayQandA() {
        System.out.println("Question id is");
        System.out.println(id);
        System.out.println("Question is");
        System.out.println(question);
        System.out.println("Answer is ");
        System.out.println(answers);
    }

}


<?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"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
        <bean name="testBean" class="com.bk.spring.test.TestBean">
        <constructor-arg value="00001" />
        <constructor-arg value="What is Spring?"></constructor-arg>
        <constructor-arg>
            <map>
                <entry key="Spring is Enterprise application dev framework" value="Krishna"></entry>
                <entry key="Spring is open source framework" value="Chandu"></entry>
            </map>
        </constructor-arg>
    </bean>
</beans>

package com.bk.spring.test;

import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.xml.XmlBeanFactory;
import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.Resource;

public class SpringConDITest {

    public static void main(String a[]) {

        Resource res = new ClassPathResource("applicationContext.xml");
        BeanFactory factory = new XmlBeanFactory(res);
               
        TestBean testBean = (TestBean)factory.getBean("testBean");
        testBean.displayQandA();

    }

}


Output:

Question id is
00001
Question is
What is Spring?
Answer is
{Spring is Enterprise application dev framework=Krishna, Spring is open source framework=Chandu}


No comments:

Post a Comment