معماری
ضعیفبد نیستمتوسطخوبعالی (No Ratings Yet)
Loading...

تزریق وابستگی با استفاه از متود setter

با نام و یاد خدای مهربان

در این مقاله تصمیم داریم در مورد تزریق وابستگی در فریمورک اسپرینگ با استفاده از متود setter بحث کنیم.

همانطور که در مقاله های پیشین صحبت کردیم ما می توانیم وابستگی را از طریق متود setter نیز به برنامه تزریق کنیم. المنت <property> از <bean> برای این منظور مورد استفاده قرار می گیرد. در اینجا می خواهیم موارد زیر را تزریق کنیم:

  • مقادیر اولیه و اصلی (primitive) و مقادیر مبتنی بر رشته (string-based)
  • اشیای مستقل از هم
  • مقادیر مجموعه (collection values) و …

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

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

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

Employee.java

کلاس employee یک کلاس ساده شامل سه فیلد id و name و cityبه همراه setter ها و getter های مربوط به این فیلدهاست بعلاوه متودی برای نمایش این سه مقدار.

package com.javatpoint;  
  
public class Employee {  
private int id;  
private String name;  
private String city;  
  
public int getId() {  
    return id;  
}  
public void setId(int id) {  
    this.id = id;  
}  
public String getName() {  
    return name;  
}  
public void setName(String name) {  
    this.name = name;  
}  
  
public String getCity() {  
    return city;  
}  
public void setCity(String city) {  
    this.city = city;  
}  
void display(){  
    System.out.println(id+" "+name+" "+city);  
}  
  
}

applicationContext.xml

با استفاده از این فایل اطلاعات لازم را در اختیار bean قرار می دهیم. المنت property متود setter را فراخوانی می کند. مقدار subelement از property مقدار پارامتر setter را مشخص می کند.

<?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="obj" class="com.javatpoint.Employee">  
<property name="id">  
<value>20</value>  
</property>  
<property name="name">  
<value>Arun</value>  
</property>  
<property name="city">  
<value>ghaziabad</value>  
</property>  
  
</bean>  
  
</beans>

Test.java

این کلاس، bean را از فایل applicationContext.xml می گیرد و متود display را فراخوانی می کند.

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 e=(Employee)factory.getBean("obj");  
        s.display();  
          
    }  
}

خروجی:

20 Arun ghaziabad

همچنین ببینید

تزریق سازنده در مقابل تزریق setter

مقایسه دو روش SI و CI در فریمورک اسپرینگ

به نام خدای مهربان همانطور که در مقاله های قبلی اشاره شد، فریمورک اسپرینگ از …

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *