ضعیفبد نیستمتوسطخوبعالی (2 votes, average: 5٫00 out of 5)
Loading...

تزریق سازنده با استفاده Map

به نام خدا
در این قسمت می خواهیم از map استفاده کنیم بعنوان پاسخی که شامل پاسخ های نوشته شده با نام کاربری است. در اینجا از جفت های کلید و مقدار، هر دو بصورت رشته استفاده می کنیم.

فریمورک اسپرینگ

اگر مثال های پیشین در مورد تزریق وابستگی را در فریمورک اسپرینگ دنبال کرده باشید، مشابه آن ها، این مثال نیز عبارت است از یک فروم که در آن یک سوال می تواند چندین پاسخ داشته باشد.

Question.java
این کلاس شامل سه ویژگی (property) است، دو سازنده و متود displayInfo که این متود اطلاعات را چاپ می کند.

package com.javatpoint;  
import java.util.Iterator;  
import java.util.Map;  
import java.util.Set;  
import java.util.Map.Entry;  
  
public class Question {  
private int id;  
private String name;  
private Map answers;  
  
public Question() {}  
public Question(int id, String name, Map answers) {  
    super();  
    this.id = id;  
    this.name = name;  
    this.answers = answers;  
}  
  
public void displayInfo(){  
    System.out.println("question id:"+id);  
    System.out.println("question name:"+name);  
    System.out.println("Answers....");  
    Set> set=answers.entrySet();  
    Iterator> itr=set.iterator();  
    while(itr.hasNext()){  
        Entry entry=itr.next();  
        System.out.println("Answer:"+entry.getKey()+" Posted By:"+entry.getValue());  
    }  
}  
}

applicationContext.xml
از خصیصه entry از map برای تعریف اطلاعات کلید و مقدار استفاده شده است.

<?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 id="q" class="com.javatpoint.Question">  
<constructor-arg value="11"></constructor-arg> 
<constructor-arg value="What is Java?" > </constructor-arg>  
<constructor-arg>  
<map>
<entry key="Java is a Programming Language"  value="Ajay Kumar"></entry> 
<entry key="Java is a Platform" value="John Smith"></entry>  
<entry key="Java is an Island" value="Raj Kumar"></entry>  
</map>  
</constructor-arg>  
</bean> 
  
</beans>

Test.java
این کلاس bean را از فایل applicationContext.xml گرفته و متود displayInfo را فراخوانی می کند.

package com.javatpoint;  
  
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 Test {  
public static void main(String[] args) {  
    Resource r=new ClassPathResource("applicationContext.xml");  
    BeanFactory factory=new XmlBeanFactory(r);  
      
    Question q=(Question)factory.getBean("q");  
    q.displayInfo();  
      
}  
}

همچنین ببینید

تزریق سازنده با collection

تزریق سازنده با collection

به نام خدا در این مقاله از سری مقاله های فریمورک اسپرینگ، قصد داریم توضیحات …

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *