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

حقن الاعتماد لـ Spring

البحث عن العلاقات الاعتمادية

البحث عن العلاقات الاعتمادية هو طريقة للحصول على الموارد بعد الطلب. على سبيل المثال، يمكن استخدام العديد من طرق الحصول على الموارد:

A obj = new AImpl();

أو يمكننا استخدام طريقة المصنع:

بهذه الطريقة، يمكننا الحصول على الموارد مباشرة من خلال كلمة new.

A obj = A.getA();

بهذه الطريقة، نحصل على الموارد من خلال دعوة طريقة المصنع الثابتة getA().

أو، يمكننا الحصول على الموارد عبر JNDI (واجهة نامي القائمة Java). :,

Context ctx = new InitialContext();
Context environmentCtx = (Context) ctx.lookup("java:comp/env");
A obj = (A)environmentCtx.lookup("A");

يمكن استخدام العديد من طرق الحصول على الموارد للحصول على الموارد. دعونا نرى مشاكل هذا الأسلوب.

مشاكل البحث عن العلاقات الاعتمادية

هناك مشاكل بحث عن العلاقات الاعتمادية رئيسيتان.

التشابك: يجعل طريقة البحث عن العلاقات الاعتمادية الكود متشابكًا. إذا تم تغيير الموارد، فسيكون من الضروري إجراء الكثير من التغييرات في الكود. اختبار صعب: ينتج هذا الأسلوب الكثير من المشاكل عند اختبار التطبيقات، خاصةً في اختبار الصندوق الأسود.

الحقن الاعتمادي

حقن الاعتماد هو نموذج تصميم يزيل البرمجة. في هذه الحالة، نقدم معلومات من مصدر خارجي (مثل ملف XML). إنه يجعل شيفرة لدينا غير مرتبطة بشكل ضيق، مما يجعلها أسهل للاختبار. في هذه الحالة، سنكتب الشيفرة كما يلي:

class Employee{
Address address;
Employee(Address address){
this.address = address;
{}
public void setAddress(Address address){
this.address = address;
{}
{}

في هذه الحالة، يتم تقديم مثال على كائن Address من مصدر خارجي (مثل ملف XML) من خلال التركيب أو الطريقة المحددة.

يتم تنفيذ طريقتين لحقن الاعتماد في إطار Spring

يقدم إطار Spring طريقتين لحقن الاعتماد

من خلال التركيب من خلال الطريقة المحددة