كل المشاريع
واجهة خلفية
حقن التبعيات وعكس التحكّم — أربع تقنيات
دراسة عملية لعكس التحكّم في Java: نفس تقسيم DAO/الأعمال موصولاً بأربع طرق — حقن يدوي عبر setter، تحميل ديناميكي بالـ reflection من ملف إعداد، إعداد حاوية Spring XML، ومسح تعليقات Spring (@Component/@Autowired).
4
Injection techniques
Spring 6
Framework
IDao + IMetier
Contracts
XML + annotations
Wiring
المنهجية
تنفيذ تطبيق واحد موجَّه بالواجهات بأربع طرق: ثابتة، reflection ديناميكي، XML لـ Spring، تعليقات Spring
المكدس التقني
Java 17Spring 6.1MavenReflection API
الكلمات المفتاحية
SpringIoCDependency InjectionReflectionXML ConfigAnnotationsJava
التعمق
جولة تأسيسية في عكس التحكّم وحقن التبعيات — «اعتمِد على الواجهات لا على التنفيذ» — ببناء نفس التطبيق بأربع طرق.
الهيكل
java-ioc-1/ (Maven + Spring 6)
├── dao/ IDao + التنفيذات
├── metier/ IMetier + التنفيذات
└── presentation/ 4 عروض للحقن
enset_ioc/ (نقطة بداية بـ Java الخالص)
أربع تقنيات حقن
| العرض | الطريقة | الكيفية |
|---|---|---|
| Presentation | ثابتة | new يدوي + حقن عبر setter |
| Presentation2 | ديناميكية | تحميل فئة بالـ reflection من config.txt |
| Presentationxml | Spring XML | ربط عبر الحاوية بـ applicationContext.xml |
| PresentationAnnotation | تعليقات Spring | مسح @Component + @Autowired |
لماذا يهمّ
IDao (عقد الوصول للبيانات) وIMetier (عقد الأعمال) مرتبطان عبر الواجهات فقط، فالحاوية — لا الكود — هي من تقرر أي تنفيذ يُحقَن. هذا هو المبدأ الذي تعتمد عليه كل مشاريع Spring اللاحقة في هذه المجموعة.