مشخصات مقاله
-
550
-
0.0
-
2063
-
0
-
0
آموزش Java Spring-تزریق مجموعه ای از اشیا در Java Spring
CI با مجموعه
مثال تزریق سازنده توسط مجموعه
در فریمورک اسپرینگ می توان توسط سازنده به تزریق مقادیر مجموعه پرداخت. در عنصر constructor-arg میتوان از سه عنصر list، set و map استفاده کرد. هر مجموعه میتواند مقادیر از نوع رشته و یا غیر رشته داشته باشد.
این مثال از یک فروم که" یک سوال می تواند چندین پاسخ داشته باشد" برداشته شده است که دارای سه صفحه شامل فایل های زیر است:
1. Question.java
2. applicationContext.xml
3. Test.java
در این مثال ما از list استفاده می کنیم که قابلیت داشتن عناصر تکراری را دارد. شما می توانید از set که تنها شامل عناصر یکتا است استفاده کنید. در صورت استفاده از set، در فایل applicationContext.xml ، list را به set و در فایل Question.java ،List را به Set تغییر دهید.
Question.java:
این کلاس شامل سه خصیصه، دو سازنده و متد displayInfo() برای چاپ اطلاعات است. در اینجا از List برای ذخیره چندین پاسخ موجود استفاده می کنیم.
package com.javatpoint;
import java.util.Iterator;
import java.util.List;
public class Question {
private int id;
private String name;
private List< String> answers;
public Question() {}
public Question(int id, String name, List< String> answers) {
super();
this.id = id;
this.name = name;
this.answers = answers;
}
public void displayInfo(){
System.out.println(id+" "+name);
System.out.println("answers are:");
Iterator< String> itr=answers.iterator();
while(itr.hasNext()){
System.out.println(itr.next());
}
}
}
applicationContext.xml:
در اینجا از عنصر لیست constructor-arg برای تعریف لیست استفاده می شود.
< ?xml version="1.0" encoding="UTF-8" ?>
< beans 3. xmlns="http://www.springframework.org/schema/beans"
4. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
5. xmlns:p="http://www.springframework.org/schema/p"
6. 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="111">< /constructor-arg>
< constructor-arg value="What is java?">< /constructor-arg>
< constructor-arg>
< list>
< value>Java is a programming language< /value>
< value>Java is a Platform< /value>
< value>Java is an Island of Indonasia< /value>
< /list>
< /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();
}
}