छोटी युक्ति - मुझे अनुप्रयोग चिंता के आधार पर मेरी स्प्रिंग xml संदर्भ फ़ाइलों को मॉड्यूलर और स्पष्ट रूप से लेबल करने में मदद मिली है। यहाँ एक वेब अनुप्रयोग मैं पर काम किया के लिए एक उदाहरण है:
MyProject/src/main/resources/spring /
- datasource.xml - मेरी एकल डेटा स्रोत सेम।
- persistence.xml - मेरा डीएओ/रिपोजिटरीज।
datasource.xml
बीन्स पर निर्भर करता है।
- services.xml - सेवा परत कार्यान्वयन। ये आम तौर पर बीन्स होते हैं जिनके लिए मैं एओपी का उपयोग करके लेनदेन को लागू करता हूं।
persistence.xml
बीन्स पर निर्भर करता है।
- नियंत्रक.एक्सएमएल - मेरा वसंत एमवीसी नियंत्रक।
services.xml
बीन्स पर निर्भर करता है।
- views.xml - मेरा विचार कार्यान्वयन।
इस सूची में न सही है और न ही संपूर्ण है, लेकिन मुझे आशा है कि यह बिंदु दिखाता है। जो भी नामकरण रणनीति और ग्रैन्युलरिटी आपके लिए सबसे अच्छा काम करती है चुनें।
मेरी (सीमित) अनुभव में, मैंने देखा है इस दृष्टिकोण निम्नलिखित लाभ उपज:
स्पष्ट वास्तुकला
जाहिर नामित संदर्भ फ़ाइलों अपनी परियोजना संरचना एक उचित जगह पर उन लोगों के साथ अपरिचित देता है बीन परिभाषाओं की तलाश शुरू करो। सर्कुलर/अवांछित निर्भरताओं का पता लगाना थोड़ा आसान हो सकता है।
में मदद करता है डोमेन डिजाइन
आप एक सेम परिभाषा जोड़ना चाहते हैं, लेकिन यह आपके संदर्भ फ़ाइलों में से किसी में अच्छी तरह से फिट नहीं करता है, शायद वहाँ एक नई अवधारणा या चिंता उभर रहा है? उदाहरण:
- मान लीजिए कि आप अपनी सेवा परत को एओपी के साथ लेनदेन करना चाहते हैं। क्या आप उन बीन परिभाषाओं को
services.xml
पर जोड़ते हैं, या उन्हें अपने transactionPolicy.xml
में डालते हैं? अपनी टीम के साथ बात करो। क्या आपकी लेनदेन नीति प्लग करने योग्य होनी चाहिए?
- अपनी
controllers.xml
फ़ाइल में एसीजी/स्प्रिंग सुरक्षा बीन्स जोड़ें, या security.xml
संदर्भ फ़ाइल बनाएं? क्या आपके पास विभिन्न तैनाती/वातावरण के लिए अलग-अलग सुरक्षा आवश्यकताएं हैं?
समाकलन परीक्षण
आप के लिए एकीकरण परीक्षण अपने आवेदन के एक सबसेट ऊपर तार कर सकते हैं (पूर्व: ऊपर फ़ाइलों को देखते हुए डेटाबेस आप केवल datasource.xml
और persistence.xml
सेम बनाने की आवश्यकता का परीक्षण करने के लिए)। ध्यान केंद्रित और अच्छी तरह से नामित संदर्भ फ़ाइलों की बहुत-सी यह करने के लिए आसान बनाता है
@ContextConfiguration(locations = { "/spring/datasource.xml" , "/spring/persistence.xml" })
निर्माण अच्छी तरह से साथ स्प्रिंग आईडीई के बीन्स ग्राफ़
:
विशेष रूप से, आप एक एकीकरण परीक्षण वर्ग जैसे टिप्पणी कर सकते हैं स्प्रिंग आईडीई के Beans Graph का उपयोग करके अपने ऐप की परतों को देखने के लिए कस्टम बीन्स कॉन्फिगसेट बनाएं। मैंने नए टीम के सदस्यों को हमारे आवेदन संगठन के उच्च स्तरीय अवलोकन देने के लिए पहले इसका उपयोग किया है।
स्रोत
2008-08-16 21:12:19
क्या यह दोनों एक साथ होना चाहिए? एक समय में एक को संभालना आसान होगा यदि आप दोनों के लिए नए हैं (यह स्पष्ट नहीं है कि जावा ईई आपके लिए नया है)। – SteveD