حاوية IoC مسؤولة عن إنشاء الكائنات وتكوينها وتجميعها. تحصل حاوية IoC على المعلومات من ملف XML وتعمل وفقًا لذلك. المهام الرئيسية التي تؤديها حاوية IoC هي:
- لإنشاء مثيل لفئة التطبيق
- لتكوين الكائن
- لتجميع التبعيات بين الكائنات
هناك نوعان من حاويات IoC. هم:
الفرق بين BeanFactory وApplicationContext
org.springframework.beans.factory. BeanFactory وorg.springframework.context. سياق التطبيق تعمل الواجهات كحاوية IoC. تم إنشاء واجهة ApplicationContext أعلى واجهة BeanFactory. يضيف بعض الوظائف الإضافية من BeanFactory مثل التكامل البسيط مع Spring's AOP، ومعالجة موارد الرسائل (لـ I18N)، ونشر الأحداث، وسياق طبقة التطبيق المحدد (مثل WebApplicationContext) لتطبيق الويب. لذلك من الأفضل استخدام ApplicationContext بدلاً من BeanFactory.
باستخدام BeanFactory
XmlBeanFactory هي فئة التنفيذ لواجهة BeanFactory. لاستخدام BeanFactory، نحتاج إلى إنشاء مثيل لفئة XmlBeanFactory كما هو موضح أدناه:
Resource resource=new ClassPathResource('applicationContext.xml'); BeanFactory factory=new XmlBeanFactory(resource);
يتلقى منشئ فئة XmlBeanFactory كائن المورد لذلك نحتاج إلى تمرير كائن المورد لإنشاء كائن BeanFactory.
باستخدام سياق التطبيق
فئة ClassPathXmlApplicationContext هي فئة التنفيذ لواجهة ApplicationContext. نحن بحاجة إلى إنشاء فئة ClassPathXmlApplicationContext لاستخدام ApplicationContext كما هو موضح أدناه:
ApplicationContext context = new ClassPathXmlApplicationContext('applicationContext.xml');
يتلقى منشئ فئة ClassPathXmlApplicationContext سلسلة، حتى نتمكن من تمرير اسم ملف XML لإنشاء مثيل ApplicationContext.
قم بتنزيل المثال لاستخدام ApplicationContext