English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
إذا كان هناك علاقة HAS-A بين كلاً من الكائنات، يتم إنشاء نموذج العنصر التابع (المكون) أولاً، ثم يتم نقل هذا النموذج كمعامل للوظيفة البنيان الرئيسية. في هذا السياق، سينتمي نموذج Address إلى العنصر التابع. دعونا نبدأ بالنظر إلى كائن Address:
Address.java
يحتوي هذا الكائن على ثلاث خصائص، ومثال بناء واحد وواحدة طريقة toString() لتحويل هذه القيم.
package com.w3codebox; public class Address { private String city; private String state; private String country; public Address(String city, String state, String country) { super(); this.city = city; this.state = state; this.country = country; } public String toString(){ return city+" "+state+" "+country; } }
Employee.java
يحتوي على ثلاث خصائص id، الاسم والموقع (عنصر تبعي)، ومثالين بنيانين وواحدة طريقة show() لعرض سجلات الجسم الحالي (بما في ذلك العناصر التبعية).
package com.w3codebox; public class Employee { private int id; private String name; private Address address; // Aggregation public Employee() {System.out.println("def cons");} public Employee(int id, String name, Address address) { super(); this.id = id; this.name = name; this.address = address; } void show(){ System.out.println(id+" "+name); System.out.println(address.toString()); } }
applicationContext.xml
المرجع الميزة تستخدم لتحديد استدلال آخر، مثل، سنقوم بمرور على الكائن المعتمد كمعامل بناء.
<?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="a1" class="com.w3codebox.Address"> <constructor-arg value="ghaziabad"></constructor-arg> <constructor-arg value="UP"></constructor-arg> <constructor-arg value="India"></constructor-arg> </bean> <bean id="e" class="com.w3codebox.Employee"> <constructor-arg value="12" type="int"></constructor-arg> <constructor-arg value="Sonoo"></constructor-arg> <constructor-arg> <ref bean="a1"/> </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(); } }