Setter tiêm với bộ sưu tập không chuỗi

Nếu chúng ta có đối tượng phụ thuộc trong bộ sưu tập, chúng ta có thể đưa các thông tin này bằng cách sử dụng phần tử ref trong danh sách, bộ hoặc bản đồ. Ở đây, chúng tôi sẽ sử dụng danh sách, bộ hoặc phần tử ánh xạ bên trong phần tử thuộc tính.

java-Spring
Setter Injection with Non-String Collection

Trong ví dụ này, chúng tôi đang lấy ví dụ về diễn đàn nơi một câu hỏi có thể có nhiều câu trả lời. Nhưng Trả lời có thông tin riêng của mình như answerId, answer và postBy. Có bốn trang được sử dụng trong ví dụ này:

  1. Câu hỏi
  2. Trả lời ApplicationContext.xml
  3. Test.java

Trong ví dụ này, chúng tôi đang sử dụng danh sách có thể có các phần tử trùng lặp, bạn có thể sử dụng tập hợp chỉ có các phần tử duy nhất. Nhưng, bạn cần thay đổi danh sách để đặt trong tệp application Context.xml và Danh sách thành Đặt trong tệp Câu hỏi.

Lớp này chứa ba thuộc tính, hai hàm tạo và phương thức displayInfo () in thông tin. Ở đây chúng tôi đang sử dụng Danh sách để chứa nhiều câu trả lời.

package com.javatpoint;  
  
import java.util.Iterator;  
import java.util.List;  
  
public class Question {  
private int id;  
private String name;  
private List<Answer> answers;  
  
//setters and getters  
  
public void displayInfo(){  
    System.out.println(id+" "+name);  
    System.out.println("answers are:");  
    Iterator<Answer> itr=answers.iterator();  
    while(itr.hasNext()){  
        System.out.println(itr.next());  
    }  
}  
  
}  

Answer.java

Lớp này có ba thuộc tính id, name và bằng phương thức constructor và toString ().

package com.javatpoint;  
  
public class Answer {  
private int id;  
private String name;  
private String by;  
  
//setters and getters  
  
public String toString(){  
    return id+" "+name+" "+by;  
}  
}  

ApplicationContext.xml

Phần tử ref được sử dụng để xác định tham chiếu của một bean khác. Ở đây, chúng tôi đang sử dụng thuộc tính bean của phần tử ref để chỉ định tham chiếu của bean khác.

<?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="answer1" class="com.javatpoint.Answer">  
<property name="id" value="1"></property>  
<property name="name" value="Java is a programming language"></property>  
<property name="by" value="Ravi Malik"></property>  
</bean>  
<bean id="answer2" class="com.javatpoint.Answer">  
<property name="id" value="2"></property>  
<property name="name" value="Java is a platform"></property>  
<property name="by" value="Sachin"></property>  
</bean>  
  
<bean id="q" class="com.javatpoint.Question">  
<property name="id" value="1"></property>  
<property name="name" value="What is Java?"></property>  
<property name="answers">  
<list>  
<ref bean="answer1"/>  
<ref bean="answer2"/>  
</list>  
</property>  
</bean>  
  
</beans>  

Test.java

Lớp này lấy bean từ tệp application Context.xml và gọi phương thức 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();  
      
}  
}  

Bài viết gần đây

Hướng dẫn AOP Spring

Lập trình hướng đối tượng (AOP) khen ngợi OOP theo nghĩa là nó cũng cung cấp tính mô đun. Nhưng đơn vị chính của...

Bộ sưu tập cho người mới bắt đầu Java

Set là một Khung bộ sưu tập Java. Set là một Giao diện trong gói java.util . Nó thực hiện Bộ sưu tập Giao diện.

URI tùy chỉnh trong thẻ tùy chỉnh JSP

Chúng ta có thể sử dụng URI tùy chỉnh, để báo cho bộ chứa web về tệp tld. Trong trường hợp như vậy,...

Tiêm phụ thuộc với phương pháp nhà máy vào Spring

Spring framework cung cấp cơ sở để tiêm đậu bằng phương pháp nhà máy. Để làm như vậy, chúng ta có thể sử...

Sưu tập bản đồ cho người mới bắt đầu Java

Bản đồ là một Giao diện đi theo khung Bộ sưu tập Java. Map Collection Tutorial for...

Lặp lại bằng cách sử dụng thẻ tùy chỉnh JSP

Chúng ta có thể lặp lại nội dung thân của bất kỳ thẻ nào bằng phương thức doAfterBody () của giao diện IterationTag .

Leave a reply

Please enter your comment!
Please enter your name here