स्प्रिंग फ्रेमवर्क - वास्तुकला

वसंत संभवतः आपके सभी उद्यम अनुप्रयोगों के लिए एक-स्टॉप शॉप हो सकता है। हालाँकि, स्प्रिंग मॉड्यूलर है, जिससे आप चुन सकते हैं और चुन सकते हैं कि कौन से मॉड्यूल आपके लिए लागू हैं, बाकी हिस्सों में लाए बिना। निम्न अनुभाग स्प्रिंग फ्रेमवर्क में उपलब्ध सभी मॉड्यूल के बारे में विवरण प्रदान करता है।

स्प्रिंग फ्रेमवर्क लगभग 20 मॉड्यूल प्रदान करता है जिसका उपयोग एप्लिकेशन आवश्यकता के आधार पर किया जा सकता है।

कोर कंटेनर

कोर कंटेनर में कोर, बीन्स, संदर्भ और अभिव्यक्ति भाषा मॉड्यूल शामिल हैं, जिनका विवरण निम्नानुसार है -

  • Core मॉड्यूल IoC और निर्भरता इंजेक्शन सुविधाओं सहित, ढांचे के मूलभूत भागों को प्रदान करता है।

  • Bean मॉड्यूल बीनफैक्टरी प्रदान करता है, जो कारखाने पैटर्न का एक परिष्कृत कार्यान्वयन है।

  • Contextमॉड्यूल कोर और बीन्स मॉड्यूल द्वारा प्रदान किए गए ठोस आधार पर बनाता है और यह परिभाषित और कॉन्फ़िगर किसी भी ऑब्जेक्ट तक पहुंचने के लिए एक माध्यम है। ApplicationContext इंटरफ़ेस कॉन्टेक्ट मॉड्यूल का केंद्र बिंदु है।

  • SpEL मॉड्यूल रनटाइम पर ऑब्जेक्ट ग्राफ को क्वेरी और हेरफेर करने के लिए एक शक्तिशाली अभिव्यक्ति भाषा प्रदान करता है।

डेटा एक्सेस / इंटीग्रेशन

डेटा एक्सेस / इंटीग्रेशन लेयर में JDBC, ORM, OXM, JMS और ट्रांजैक्शन मॉड्यूल होते हैं, जिनका विवरण इस प्रकार है:

  • JDBC मॉड्यूल एक JDBC-अमूर्त परत प्रदान करता है जो थकाऊ JDBC संबंधित कोडिंग की आवश्यकता को दूर करता है।

  • ORM मॉड्यूल लोकप्रिय ऑब्जेक्ट-रिलेशनल मैपिंग एपीआई के लिए एकीकरण परतें प्रदान करता है, जिसमें जेपीए, जेडीओ, हाइबरनेट और आईबैटिस शामिल हैं।

  • OXM मॉड्यूल एक अमूर्त परत प्रदान करता है जो JAXB, कैस्टर, XMLBeans, JiBX और XStream के लिए ऑब्जेक्ट / XML मैपिंग कार्यान्वयन का समर्थन करता है।

  • जावा मैसेजिंग सर्विस JMS मॉड्यूल में संदेशों के निर्माण और उपभोग के लिए सुविधाएँ होती हैं।

  • Transaction मॉड्यूल उन वर्गों के लिए प्रोग्रामेटिक और घोषणात्मक लेनदेन प्रबंधन का समर्थन करता है जो विशेष इंटरफेस को लागू करते हैं और आपके सभी पीओजेओ के लिए।

वेब

वेब परत में वेब, वेब-एमवीसी, वेब-सॉकेट और वेब-पोर्टलेट मॉड्यूल शामिल हैं, जिनका विवरण निम्नानुसार है:

  • Web मॉड्यूल बुनियादी वेब-उन्मुख एकीकरण सुविधाएँ प्रदान करता है जैसे कि मल्टीपार्ट फ़ाइल-अपलोड कार्यक्षमता और IoC कंटेनर के आरंभ में सर्वलेट श्रोताओं और एक वेब-उन्मुख अनुप्रयोग संदर्भ का उपयोग करना।

  • Web-MVC मॉड्यूल में वेब अनुप्रयोगों के लिए स्प्रिंग का मॉडल-व्यू-कंट्रोलर (MVC) कार्यान्वयन है।

  • Web-Socket मॉड्यूल WebSocket- आधारित, क्लाइंट और सर्वर के बीच वेब एप्लिकेशन में दो-तरफ़ा संचार के लिए समर्थन प्रदान करता है।

  • Web-Portlet मॉड्यूल पोर्ट परिवेश में उपयोग किया जाने वाला MVC कार्यान्वयन प्रदान करता है और वेब-सर्वलेट मॉड्यूल की कार्यक्षमता को प्रतिबिंबित करता है।

कई तरह का

AOP, पहलू, इंस्ट्रूमेंटेशन, वेब और टेस्ट मॉड्यूल जैसे कुछ अन्य महत्वपूर्ण मॉड्यूल हैं जिनका विवरण निम्नानुसार है -

  • AOP मॉड्यूल एक पहलू-उन्मुख प्रोग्रामिंग कार्यान्वयन प्रदान करता है जो आपको विधि-अवरोधक और बिंदुओं को साफ-साफ कोड को परिभाषित करने की अनुमति देता है जो कार्यक्षमता को अलग करता है जिसे अलग किया जाना चाहिए।

  • Aspects मॉड्यूल AspectJ के साथ एकीकरण प्रदान करता है, जो फिर से एक शक्तिशाली और परिपक्व एओपी फ्रेमवर्क है।

  • Instrumentation मॉड्यूल कुछ एप्लिकेशन सर्वरों में उपयोग किए जाने के लिए क्लास इंस्ट्रूमेंटेशन समर्थन और क्लास लोडर कार्यान्वयन प्रदान करता है।

  • Messagingमॉड्यूल अनुप्रयोगों में उपयोग करने के लिए WebSocket उप-प्रोटोकॉल के रूप में STOMP के लिए समर्थन प्रदान करता है। यह WebSocket क्लाइंट से STOMP संदेशों को रूट करने और संसाधित करने के लिए एनोटेशन प्रोग्रामिंग मॉडल का भी समर्थन करता है।

  • Test मॉड्यूल JUnit या TestNG चौखटे के साथ वसंत घटकों के परीक्षण का समर्थन करता है।