کانال بله, جهت پشتیبانی و اطلاع رسانی کانال بله, جهت پشتیبانی و اطلاع رسانی
عضویت

آموزش Constructor Injection-Java Spring

تزریق سازنده (CI) constructor Injection

مثال تزریق وابستگی توسط سازنده

وابستگی را می توان توسط سازنده تزریق کرد. از زیر عنصر در برای تزریق سازنده استفاده می شود. در اینجا به تزریق موارد زیر می پردازیم:

  • مقادیر اولیه و مبتنی بر رشته
  • اشیا وابسته
  • مقادیر مجموعه

تزریق مقادیر اولیه و مبتنی بر رشته

مثالی ساده از تزریق مقادیر اولیه و مبتنی بر رشته را با هم بررسی می کنیم. سه فایل در اینجا ایجاد شده است که در ادامه به توضیح هر یک می پردازیم.

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

فایل Employee.java :

کارمند یک کلاس ساده شامل دو فیلد شناسه(id) و نام است. علاوه بر آن، این کلاس شامل چهار سازنده و یک متد نیز است.

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 :

اطلاعات مورد نیاز از طریق این فایل در اختیار bean قرار می گیرد. عنصر constructor-arg سازنده را فراخوانی می کند. در این حالت یک سازنده با پارامتری از نوع int فراخوانی می شود. خصیصه ارزش مربوط به عنصر constructor-arg ، ارزش تعیین شده را تخصیص می دهد. خصیصه نوع، مشخص کننده این است که سازنده با پارامتر نوع int فراخوانی شود.

< ?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 :

این کلاس bean را از فایل applicationContext.xml می گیرد و متد 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();  
          
    }  
}  

تزریق مقادیر مبتنی بر رشته

اگر خصیصه نوع در عنصر constructor-arg مشخص نشود، به صورت پیش فرض سازنده از نوع رشته فراخوانی می شود.

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

اگر عنصر bean مطابق کد بالا تغییر کند، سازنده با پارامتر از نوع رشته فراخوانی می شود و خروجی 0 10 خواهد بود.

همچنین می توان رشته مورد نظر را به صورت زیر پاس داد:

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

خروجی : 0 Sonoo


همچنین می توان مقادیر int و رشته را به صورت زیر پاس داد:

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

خروجی : 10 Sonoo

1398/12/13 2108 519
رمز عبور : tahlildadeh.com یا www.tahlildadeh.com
نظرات شما

نظرات خود را ثبت کنید...