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

آموزش Setter Injection-Java Spring

تزریق Setter (SI)

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

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

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

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

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

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

Employee.java :

این یک کلاس ساده شامل سه فیلد شناسه، نام و شهر به همراه getter و setter آن و متدی برای نمایش اطلاعات است.

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 را فراخوانی می کند و زیر عنصر مقدار(value) از خصیصه، مقدار مشخص شده را تخصیص می دهد.

< ?xml version="1.0" encoding="UTF-8" ?>

< beans 3. xmlns="http://www.springframework.org/schema/beans"
         4. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         5. xmlns:p="http://www.springframework.org/schema/p"
         6. 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

1398/12/14 1717 531
رمز عبور : tahlildadeh.com یا www.tahlildadeh.com
نظرات شما

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