هناك العديد من الطرق للحصول على الفاصوليا في الربيع ، وسألخصها مرة أخرى:
النوع الأول: احفظ كائن ApplicationContext أثناء التهيئة
ApplicationContext ac = new fileystemxmlapplicationContext ("ApplicationContext.xml") ؛ ac.getBean ("beanid") ؛ ملاحظة: هذه الطريقة مناسبة للتطبيقات المستقلة باستخدام Spring Framework ، ويتطلب البرنامج من البرنامج تهيئة الربيع يدويًا من خلال ملفات التكوين.
النوع الثاني: احصل على كائن ApplicationContext من خلال فئة الأدوات التي توفرها الربيع
استيراد org.springframework.web.context.support.webapplicationContextUtils ؛ applicationContext AC1 = WebApplicationContextUtIls.getRequiredWebapplicationContext (servletContext SC) SC) ؛ AC1.GetBean ("Beanid") ؛ AC2.GetBean ("Beanid") ؛ يوضح:
1. هاتين الطريقتين مناسبة لأنظمة B/S باستخدام Spring Framework ، والحصول على كائن ApplicationContext من خلال كائن ServletContext ، ثم الحصول على مثيل الفئة المطلوب من خلاله ؛
2. الطريقة الأولى ترمي استثناء عند فشل الاستحواذ ، وتُرجع الطريقة الثانية الخالية.
النوع الثالث: موروثة من Application ApplicationObjectSupport التجريدي
ملاحظة: يمكن لـ ApplicationContext ApplicationContext طريقة getAppLicationContext () التي توفرها ApplicationObjectSupport التجريدية ، ثم الحصول على الفول في حاوية الزنبرك. عند تهيئة Spring ، سيتم حقن كائن ApplicationContext من خلال طريقة setAppLicationContext (ApplicationContext Context) للفئة التجريدية.
النوع الرابع: ورثت من فئة مجردة webapplicationObjectSupport
ملاحظة: على غرار الطريقة أعلاه ، احصل على مثيل webapplicationContext عن طريق استدعاء getWebapplicationContext () ؛
النوع الخامس: تنفيذ واجهة ApplicationContextAware
الوصف: قم بتنفيذ طريقة setAppLicationContext (ApplicationContext Context) من هذه الواجهة وحفظ كائن ApplicationContext. عند تهيئة الربيع ، يتم حقن كائن ApplicationContext من خلال هذه الطريقة.
على الرغم من أن Spring يوفر الطرق الثلاث الأخيرة لتنفيذ الميراث أو تنفيذ الفئات أو الواجهات المقابلة في الفئات العادية للحصول على كائنات SPRING ApplicationContext ، عند استخدامه ، يجب عليك الانتباه إلى وراثة أو تنفيذ هذه الفئات المجردة أو الواجهات. أو سيكون كائن ApplicationContext الذي تم الحصول عليه فارغًا.
يوضح ما يلي كيفية الحصول على الفاصوليا في حاويات الربيع من خلال تطبيق واجهة ApplicationContextAware:
أولاً ، قم بتخصيص فئة تنفذ واجهة ApplicationContextAware وتنفيذ الأساليب في الداخل:
حزمة com.ghj.tool ؛ استيراد org.springframework.beans.beansexception ؛ استيراد org.springframework.context.applicationContext ؛ استيراد org.springframework.context.applicationContaware باطل؛ static springconfigtool SpringConfigTool = null ؛ SPRINGCONFIGTOOL init () {if (springConfigTool == NULL) } return SpringConfigTool ؛ } public void setapplicationContext (ApplicationContext ApplicationContext) يلقي beansexception {ac = applicationContext ؛ } كائن ثابت متزامن عام getBean (سلسلة beanname) {return ac.getBean (beanname) ؛ }} ثانياً ، قم بتكوينه في ملف ApplicationContext.xml:
انسخ الرمز كما يلي: <bean id = "springConfigTool"/>
أخيرًا ، يمكنك الحصول على الحبة المقابلة في حاوية الربيع من خلال الكود التالي:
نسخة الكود كما يلي: SpringConfigTool.getBean ("Beanid") ؛
لاحظ أنه عندما يبدأ الخادم في تهيئة حاوية الزنبرك ، لا يمكن الحصول على حاوية الزنبرك من خلال الطرق التالية:
استيراد org.springframework.web.context.contextloader ؛ استيراد org.springframework.web.context.webapplicationContext ؛ webapplicationContext wac = contextloader.getCurrentWebPlicationContext () ؛ wac.getbean (beanid) ؛
ما سبق هو كل شيء عن هذا المقال ، آمل أن يكون مفيدًا لتعلم الجميع.