Maven फ़ाइल संरचना इस के साथ मदद मिल सकती है
संक्षेप में स्प्रिंग कॉन्फ़िगरेशन फ़ाइलें (जो किसी भी नाम से हो सकती हैं, न कि केवल सामान्य applicationContext.xml
) को क्लासपाथ संसाधनों के रूप में माना जाता है और इसके तहत दायर किया जाता है src/main/resources
। निर्माण प्रक्रिया के दौरान, इन्हें फिर WEB-INF/classes
निर्देशिका में कॉपी किया जाता है जो इन फ़ाइलों के समाप्त होने की सामान्य जगह है।
भिन्नताओं में एक अतिरिक्त spring
निर्देशिका शामिल है (जैसे src/main/resources/spring
) स्प्रिंग संदर्भों को अन्य अनुप्रयोगों के लिए समर्पित अन्य संसाधनों से अलग करने के लिए। आप अनुप्रयोग संदर्भों को समर्पित परतों में विभाजित करना चाह सकते हैं जैसे:
example-servlet.xml
example-data.xml
example-security.xml
और इसी तरह।
देव / परीक्षण / उत्पादन जैसे विभिन्न वातावरण के बारे में क्या?
आमतौर पर, आपके स्प्रिंग कॉन्फ़िगरेशन को इसके, अहम, पर्यावरण से पर्यावरण कॉन्फ़िगरेशन को चुनना चाहिए। आमतौर पर इसका अर्थ है आवश्यक कॉन्फ़िगरेशन प्रदान करने के लिए JNDI, JDBC, पर्यावरण चर या बाहरी गुण फ़ाइलों का उपयोग करना। मैं वरीयता क्रम में उन लोगों को सूचीबद्ध करता हूं, क्योंकि जेएनडीआई आमतौर पर नियंत्रित उत्पादन क्लस्टर में बाहरी गुणों की फाइलों की तुलना में आसान है।
एकीकरण परीक्षण के मामले में आपको "परीक्षण-केवल" स्प्रिंग कॉन्फ़िगरेशन फ़ाइल का उपयोग करने की आवश्यकता हो सकती है। इसमें विशेष संदर्भ शामिल होंगे जो परीक्षण सेम या कॉन्फ़िगरेशन का उपयोग करते हैं। ये src / परीक्षण / संसाधनों के तहत मौजूद होंगे और test-
यह सुनिश्चित करने के लिए एक उपसर्ग हो सकते हैं कि डेवलपर्स अपने उद्देश्य से अवगत हों। एक विशिष्ट उपयोग एक गैर-जेएनडीआई डेटा स्रोत प्रदान करने के लिए होगा जो संभवतः बिल्ड स्वचालित परीक्षणों के दौरान एचएसक्यूएलडीबी डेटाबेस को लक्षित करता है और परीक्षण मामले के भीतर संदर्भित किया जाएगा।
हालाँकि, सामान्य रूप से आपकी स्प्रिंग संदर्भ फ़ाइलों के अधिकांश हिस्से को विशिष्ट संशोधन की आवश्यकता नहीं होनी चाहिए क्योंकि वे स्तरों के बीच चलते हैं। यह मामला होना चाहिए कि एक ही बिल्ड विरूपण साक्ष्य (जैसे WAR फ़ाइल) का उपयोग विभिन्न क्रेडेंशियल्स के साथ देव / परीक्षण / उत्पादन में किया जाता है।