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