में संदर्भों को समझना मैं वसंत के लिए नया हूं और मैं एक साधारण वेब एप्लिकेशन बना रहा हूं। मैं स्प्रिंग एमवीसी में संदर्भों के बारे में पढ़ रहा हूं।स्प्रिंग एमवीसी
मैं ग्रहण के लिए एसटीएस प्लगइन का उपयोग कर रहा हूं। मैंने प्लगइन का उपयोग कर स्प्रिंग एमवीसी प्रोजेक्ट बनाया है।
अब मेरे पास प्रोजेक्ट, web.xml, root-context.xml और servlet-context.xml में तीन xml दस्तावेज़ हैं। ये मेरे लिए एसटीएस द्वारा बनाए गए थे।
web.xml में, डिस्पैचर सर्वलेट सर्वलेट-context.xml की ओर इशारा किया है और मैं समझता हूँ कि डिस्पैचर सर्वलेट्स काम एक वेब अनुप्रयोग के संदर्भ कैसे विचारों को हल करने के लिए जानता है और नियंत्रक सेम के लिए एक जगह है बनाने के लिए है मौजूद। क्या मेरी समझ सही है? यदि हां, तो इस संदर्भ से कौन सी नौकरी पूरी की जाती है?
अब, रूट-context.xml नामक एक फ़ाइल है जिसमें मेरे प्रोजेक्ट डिफ़ॉल्ट पैकेज पर एक घटक स्कैन है। मेरी समझ यह है कि इस संदर्भ में वैश्विक बीन्स होने की आवश्यकता है जो कई servlets उपयोग कर सकते हैं। क्या मेरी समझ सही है? यह और क्या करता है? इस फ़ाइल का उपयोग करके किस तरह का संदर्भ बनाया गया है?
अब, मैं प्रोजेक्ट के साथ आगे हूं और मेरे पास कई * -context.xml फ़ाइलें (दाओ-संदर्भ.एक्सएमएल, सुरक्षा-संदर्भ.एक्सएमएल आदि) हैं जो संदर्भ लोडर लिस्टनर (web.xml में) का उपयोग करके लोड की जाती हैं। यह एक अच्छा विचार है? या सब कुछ servlet-context.xml में जाना चाहिए? मुझे लगता है कि अलग-अलग संदर्भ होने का अच्छा विचार है क्योंकि यह चिंता का अलगाव प्रदान करता है। टिप्पणियाँ? साथ ही, इन * -context.xml फ़ाइलों से किस प्रकार का संदर्भ बनाया गया है? इन फ़ाइलों के लिए उचित फ़ोल्डर स्थान क्या है?
वेब.एक्सएमएल टोमकैट आदि जैसे सर्वलेट कंटेनर के लिए है और परियोजना में अन्य सभी एक्सएमएल फाइल वसंत कंटेनर के लिए हैं। क्या वो सही है? इन सभी फ़ाइलों को चिंता का अलगाव प्रदान करने के लिए अलग कर दिया गया है?
वर्तमान परिदृश्य में कितने एप्लिकेशन संदर्भ और वेब अनुप्रयोग संदर्भ मौजूद हैं?
किसी को भी एक से अधिक प्रेषक सर्वलेट की आवश्यकता क्यों होगी?
किसी को भी एक से अधिक एप्लिकेशन संदर्भ की आवश्यकता क्यों होगी?
विचार? टिप्पणियाँ? सुधार? सर्वोत्तम प्रथाएं?
धन्यवाद। मुझे लगता है कि मुझे समझना शुरू हो रहा है। रूट अनुप्रयोग संदर्भ प्रत्येक एक्सएमएल फाइलों में परिभाषित संदर्भों से अलग (या उससे संबंधित) कैसे है? –
वेब अनुप्रयोग में, रूट संदर्भ जो आमतौर पर ContextLoaderListener का उपयोग करके प्रारंभ किया जाता है, रूट संदर्भ को सर्वलेट संदर्भ (अनुप्रयोग स्कॉप्ड) वैरिएबल में WebApplicationContext.class.getName() + ".ROOT" नाम दिया गया है और इसलिए प्रत्येक प्रेषक सेरवेट (या उस मामले के लिए कोई भी कोड) आंतरिक रूप से इस विशेषता का उपयोग कर सकता है अगर उसके पास सर्वलेट संदर्भ – Shailendra
तक पहुंच है! तो इन एक्सएमएल फाइलें, dao-context.xml service-context.xml अधिक संदर्भ बनाते हैं या सिर्फ संदर्भ लोडर लिस्टनर द्वारा बनाए गए मूल संदर्भ में जोड़ते हैं? इन एक्सएमएल फाइलों का दायरा क्या है? –