English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

مثال بناء الاعتماديات عبر البناء

يمكننا إدراج الاعتماديات عبر البناء. <bean>من <constructor-arg>العناصر الفرعية تستخدمها للبناء. هنا، سنقوم بإدراج

القيم الأصلية والقيم المبنية على النص مفروغ من القائمة (يحتوي على أعضاء) قيم المجموعة

إدراج القيم الأصلية والقيم المبنية على النص

دعونا نرى أمثلة بسيطة على إدراج القيم الأصلية وعلى القيم المبنية على النص.

Employee.java applicationContext.xml Test.java

Employee.java

هذه هي فئة بسيطة تحتوي على مجالين id وname. تحتوي هذه الفئة على أربعة بناءات وأحد الأساليب.

package com.w3codebox;
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. سيعين عنصر value الخاص بـ constructor-arg القيمة المحددة. يحدد عنصر type نوع المكون الذي سيُستدعى.

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

Test.java

هذا الفئة تحصل على Bean من ملف applicationContext.xml وتدعو إلى طريقة show.

package com.w3codebox;
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();
        
    }
}

الإخراج: 10 فاصلة


حقن القيم القائمة على السلسلة

إذا لم تكن قد specified الخاصية type في عنصر arg الخاص بالبناء، فإن سيتم استدعاء بناء المكونات الكتابية للسلاسل بشكل افتراضي.

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

إذا قمت بتغيير عنصر bean كما ذكر أعلاه، فإن سيتم استدعاء بناء المكونات الكتابية للسلاسل، وسيكون الإخراج 0 10.

الإخراج: 0 10


يمكنك أيضًا إرسال النصوص النصية كما يلي

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

الإخراج: 0 Sonoo


يمكنك إرسال الأرقام النصية والكلمات على النحو التالي

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

الإخراج: 10 Sonoo