मैंने नमूना परियोजनाओं का एक गुच्छा देखा है और मैं एक सामान्य सर्वोत्तम अभ्यास को परेशान नहीं कर सकता। मैंने देखा है कि स्प्रिंग बीन कॉन्फ़िगरेशन फ़ाइलें कभी-कभी src/main/webapp/WEB-INF
निर्देशिका में जाती हैं। मैं इस तरह web.xml
में एक सर्वलेट परिभाषा के साथ साथ संयोजन के रूप में इस देखा है:वसंत बीन कॉन्फ़िगरेशन फ़ाइलों को एक मेवेन युद्ध मॉड्यूल में कहां जाना है?
<servlet>
<servlet-name>my-stuff</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/my-stuff-servlet.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
लेकिन मैं यह भी देखा है सेम config फ़ाइलों web.xml
शीर्ष स्तर के भीतर शामिल - यानी एक सर्वलेट के बाहर। इसका क्या मतलब है? क्या यह क्रॉस-सर्वलेट बीन्स के लिए है? कभी-कभी यह src/main/webapp/WEB-INF
निर्देशिका में है और कभी-कभी यह src/main/resources
में है। इसके अलावा मैंने src/main/resources
में बस सब कुछ के साथ WAR मॉड्यूल में परिभाषित अन्य बीन कॉन्फ़िगरेशन फ़ाइलों को देखा है।
मैंने स्प्रिंग प्रलेखन को पढ़ और पढ़ा है, लेकिन मुझे मिला एकमात्र सम्मेलन यह है कि डिफ़ॉल्ट रूप से एक सर्वलेट संदर्भ कॉन्फ़िगर फ़ाइल src/main/webapp/WEB-INF
निर्देशिका {servlet-name}-servlet.xml
नामक निर्देशिका में होनी चाहिए।
तो सबसे अच्छा अभ्यास क्या है और क्यों?
बहुत उपयोगी - धन्यवाद। इच्छा है कि यह वसंत दस्तावेज़ों में यह अच्छी तरह से समझाया गया था! – HDave
@HDave यह वसंत विशिष्ट नहीं है, यह सामान्य जावा क्लासलोडर व्यवहार है (केवल एक चीज जो स्प्रिंग-विशिष्ट है 'क्लासपाथ:' उपसर्ग) –