Spring Reference Manual से लिया: ApplicationContext कार्यान्वयन के लिए
डिफ़ॉल्ट व्यवहार स्टार्टअप पर बेसब्री से पूर्व इन्स्तांत सभी सिंगलटन सेम है। प्री-इंस्टेंटेशन का अर्थ है कि एक एप्लीकेशन कॉन्टेक्स्ट उत्सुकता से प्रारंभिक प्रक्रिया के हिस्से के रूप में अपने सभी सिंगलटन बीन्स को बना और कॉन्फ़िगर करेगा। आम तौर पर यह एक अच्छी बात है, क्योंकि इसका मतलब है कि कॉन्फ़िगरेशन में या आस-पास के माहौल में किसी भी त्रुटि की तुरंत खोज की जाएगी (संभवत: घंटों या लाइन के नीचे भी दिन के विपरीत)।
हालांकि, ऐसे समय होते हैं जब यह व्यवहार वांछित नहीं होता है। यदि आप अनुप्रयोगकॉन्टेक्स्ट का उपयोग करते समय सिंगलटन बीन को पूर्व-तत्काल नहीं करना चाहते हैं, तो आप एक बीन परिभाषा को आलसी-प्रारंभिक के रूप में चिह्नित करके इसे नियंत्रित कर सकते हैं। एक आलसी-प्रारंभिक बीन आईओसी कंटेनर को इंगित करता है कि स्टार्टअप पर बीन उदाहरण बनाया जाना चाहिए या जब इसे पहले अनुरोध किया गया हो।
एक्सएमएल के माध्यम से बीन्स को कॉन्फ़िगर करते समय, यह आलसी लोडिंग [बीन तत्व] पर 'आलसी-इनिट' विशेषता द्वारा नियंत्रित होती है; उदाहरण के लिए:
<bean id="lazy" class="com.foo.ExpensiveToCreateBean" lazy-init="true"/>
लेकिन, जब तक कि आपके सेम फ़ाइल ताले या डेटाबेस कनेक्शन की तरह संसाधनों का उपयोग कर रहे हैं, मैं सरल स्मृति भूमि के ऊपर के बारे में बहुत ज्यादा है, तो यह आसान है चिंता नहीं करता तो आप इस एक विन्यास के लिए के लिए एकाधिक (लेकिन अलग) प्रोफाइल के लिए।
चूंकि सभी वर्गों का उपयोग किया जाता है, सिर्फ हर प्रोजेक्ट में नहीं, कुछ भी हटाना सवाल से बाहर है। –