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

Tìm hiểu chi tiết bên trong JVM

JVM (Java Virtual Machine) là một máy ảo. Nó cung cấp môi trường runtime, nơi mà mã Java bytecode sẽ được thực thi.

Sự Khác nhau giữa JDK, JRE và JVM

Trước khi thực sự đặt tay gõ các dòng code Java, cài đặt Java thì chúng ta phải hiểu sự khác nhau giữa JDK, JRE và JVM.

Hướng dẫn Cài đặt đường dẫn PATH trong Java

Nếu bạn tạo dự án Java bên ngoài thư mục JDK / bin, thì cần phải thiết lập đường dẫn của JDK. Đây là 2 cách cài đặt đường dẫn path trong Java.

Cách hoạt động của Chương trình Java: Hello Java

Tìm hiểu những gì xảy ra trong khi biên dịch và chạy chương trình java. Hơn nữa, chúng ta sẽ làm rõ một số câu hỏi ở chương trình Hello Java của chúng ta.

Viết Chương trình Java đầu tiên: Hello Java

Trong bài hướng dẫn này, chúng ta sẽ học cách viết chương trình đơn giản đầu tiên với ngôn ngữ lập trình Java. Qua bài này bạn sẽ biết cách viết Java, Compile và chạy một chương trình Java bất kỳ

So sánh JAVA vs C++

Hôm nay trong bài viết này mình sẽ so sánh Java vs C++. Còn nếu bạn muốn đọc thêm về so sánh Java vs PHP hay Java với C# thì xem thêm tại đây:

Leave a reply

Please enter your comment!
Please enter your name here