Tiêm phụ thuộc bởi ví dụ Con Contortor

Chúng ta có thể tiêm phụ thuộc bởi nhà xây dựng. Phân lớp <constructor-arg> của <bean> được sử dụng để tiêm constructor. Ở đây chúng tôi sẽ tiêm

lap-trinh-java-Spring
Dependency Injection by Constructor Example
  1. giá trị nguyên thủy và dựa trên chuỗi
  2. Đối tượng phụ thuộc (đối tượng chứa)
  3. Bộ sưu tập giá trị, vv

Injecting primitive and string-based values trong Java

Chúng ta hãy xem ví dụ đơn giản để thêm các giá trị nguyên thủy và chuỗi. Chúng tôi đã tạo ba tệp ở đây:

  • Employee.java
  • applicationContext.xml
  • Test.java

Employee.java

Nó là một lớp đơn giản chứa hai trường id và name. Có bốn hàm tạo và một phương thức trong lớp này.

package com.javatpoint;  
  
public class Employee {  
private int id;  
private String name;  
  
public Employee() {System.out.println("def cons");}  
  
public Employee(int id) {this.id = id;}  
  
public Employee(String name) {  this.name = name;}  
  
public Employee(int id, String name) {  
    this.id = id;  
    this.name = name;  
}  
  
void show(){  
    System.out.println(id+" "+name);  
}  
  
}

applicationContext.xml 

Chúng tôi đang cung cấp thông tin vào bean bằng tệp này. Phần tử constructor-arg gọi hàm tạo. Trong trường hợp như vậy, hàm tạo tham số của kiểu int sẽ được gọi.

Thuộc tính value của phần tử constructor-arg sẽ gán giá trị được chỉ định. Thuộc tính type xác định rằng hàm tạo tham số int sẽ được gọi.

<?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="e" class="com.javatpoint.Employee">  
<constructor-arg value="10" type="int"></constructor-arg>  
</bean>  
  
</beans>  

Test.java

Lớp này lấy bean từ tệp applicationContext.xml và gọi phương thức show.

package com.javatpoint;  
  
import org.springframework.beans.factory.BeanFactory;  
import org.springframework.beans.factory.xml.XmlBeanFactory;  
import org.springframework.core.io.*;  
  
public class Test {  
    public static void main(String[] args) {  
          
        Resource r=new ClassPathResource("applicationContext.xml");  
        BeanFactory factory=new XmlBeanFactory(r);  
          
        Employee s=(Employee)factory.getBean("e");  
        s.show();  
          
    }  
}  

Injecting string-based values trong Java

Nếu bạn không chỉ định thuộc tính type trong phần tử constructor-arg, theo mặc định, hàm tạo kiểu chuỗi sẽ được gọi.

....  
<bean id="e" class="com.javatpoint.Employee">  
<constructor-arg value="10"></constructor-arg>  
</bean>  
....  

Nếu bạn không chỉ định thuộc tính type trong phần tử constructor-arg, theo mặc định, hàm tạo kiểu chuỗi sẽ được gọi.

Bạn cũng có thể vượt qua chuỗi ký tự như sau:

....  
<bean id="e" class="com.javatpoint.Employee">  
<constructor-arg value="Sonoo"></constructor-arg>  
</bean>  
....  

Bạn có thể chuyển cả số nguyên và chuỗi cả hai như sau.

....  
<bean id="e" class="com.javatpoint.Employee">  
<constructor-arg value="10" type="int" ></constructor-arg>  
<constructor-arg value="Sonoo"></constructor-arg>  
</bean>  
....  

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