تستكشف هذه المقالة بشكل أساسي المحتوى ذي الصلة حول نطاق ودورة حياة الفاصوليا ، على النحو التالي.
نطاق الفول
يحدد Spring 3 خمسة نطاقات لـ Bean ، وهي Singleton (Singleton) ، النموذج الأولي (النموذج الأولي) ، الطلب ، الجلسة والجلسة العالمية. يتم شرح النطاقات الخمسة على النحو التالي:
1.Singleton: وضع Singleton ، لن يكون هناك سوى مثال واحد مشترك في حاوية IOC الربيع ، بغض النظر عن عدد الفاصوليا التي تشير إليها ، فإنها تشير دائمًا إلى نفس الكائن. Singleton Scope هو النطاق الافتراضي في الربيع. يمكنك أيضًا تعريف الفاصوليا على أنه وضع Singleton وتكوينها على النحو التالي:
<bean id="userDao" scope="singleton"/>
2. النمط النمط: وضع النموذج الأولي. في كل مرة يتم فيها الحصول على نموذج أولي محدد من خلال حاوية زنبركية ، ستقوم الحاوية بإنشاء مثيل فول جديد. كل مثيل بين الفول له سمات وحالته الخاصة ، ولديه Singleton كائن واحد فقط في السياق العالمي. كقاعدة عامة ، استخدم نطاق النموذج الأولي للفاصوليا الحكومية ، ونطاق المفرد للفاصوليا عديمة الجنسية.
3.request: في طلب HTTP ، ستعيد الحاوية نفس مثيل الفول. ومع ذلك ، سيتم إنشاء حبة جديدة لطلبات HTTP مختلفة ، والفاصوليا صالحة فقط ضمن طلب HTTP الحالي.
<bean id="loginAction" scope="request"/> ، لكل طلب HTTP ، تقوم حاوية Spring بإنشاء مثيل جديد تمامًا وفقًا لتعريف الفول ، والمثال صالح فقط ضمن طلب HTTP الحالي ، ولا يمكن للطلبات الأخرى رؤية التغيير في الحالة في الطلب الحالي. عندما ينتهي طلب HTTP الحالي ، سيتم أيضًا تدمير مثيل Bean.
4.Session: في جلسة HTTP ، ستعيد الحاوية نفس مثيل الفول. بالنسبة لطلبات الجلسة المختلفة ، سيتم إنشاء مثيل جديد ، ومثيل Bean صالح فقط في الجلسة الحالية.
<bean id="userPreference" scope="session"/> ، مثل طلب HTTP ، وإنشاء مثيل جديد كل طلب جلسة ، ولا تتم مشاركة أي سمات بين مثيلات مختلفة ، والمثيرة صالحة فقط ضمن طلب الجلسة الخاص بها. إذا انتهى الطلب ، سيتم تدمير المثيل.
5. جلسة Global: في جلسة HTTP العالمية ، ستعيد الحاوية نفس مثيل الفول ، وهو صالح فقط عند استخدام سياق المدخل.
دورة حياة الفول
بعد إدخال نطاق الفاصوليا كما هو مذكور أعلاه ، سيتم شرح دورة حياة الفاصوليا بناءً على نطاق الفاصوليا.
يمكن للحاويات الربيعية إدارة دورة حياة الفاصوليا تحت نطاق Singleton. في هذا النطاق ، يمكن أن يعرف الربيع بالضبط متى يتم إنشاء الفول ، وعند اكتمال التهيئة ، وعندما يتم تدميره. بالنسبة لفاصوليا نطاق النموذج الأولي ، يكون الربيع مسؤولاً فقط عن إنشائها. عندما تنشئ الحاوية مثيلًا للفول ، يتم تسليم مثيل الفول إلى إدارة رمز العميل. لن تتبع حاوية الربيع دورة حياتها ولن تدير دورة حياة تلك الفاصوليا التي تم تكوينها كنطاق النموذج الأولي. يعد تنفيذ دورة حياة الفاصوليا في الربيع عملية معقدة للغاية ، ويمكن للقراء استخدام الأساليب التي يوفرها Spring لتخصيص عملية إنشاء الفول. تقوم حاويات الربيع بالكثير من العمل قبل التأكد من استخدام مثيل الفول:
لخص
ما ورد أعلاه هو كل شيء عن هذا المقال يناقش نطاق ودورة حياة الفاصوليا في الربيع. آمل أن يكون ذلك مفيدًا للجميع. يمكن للأصدقاء المهتمين الاستمرار في الرجوع إلى الموضوعات الأخرى ذات الصلة على هذا الموقع. إذا كانت هناك أي أوجه قصور ، فيرجى ترك رسالة لإشارةها. شكرا لك يا أصدقائك لدعمكم لهذا الموقع!