स्प्रिंग ट्यूटोरियल: स्प्रिंग फ्रेमवर्क क्या है और कैसे स्थापित करें?
स्प्रिंग फ्रेमवर्क क्या है?
स्प्रिंग फ्रेमवर्क वेब एप्लिकेशन बनाने के लिए एक ओपन-सोर्स फ्रेमवर्क है Java एक प्रोग्रामिंग भाषा के रूप में। यह शक्तिशाली और हल्का है फिर भी उपयोग में आसान है, और यह विकासशील के लिए समर्थन प्रदान करता है Java स्प्रिंग एक हल्का फ्रेमवर्क है जिसे फ्रेमवर्क के फ्रेमवर्क के रूप में माना जा सकता है क्योंकि यह हाइबरनेट, स्ट्रट्स, टेपेस्ट्री और जेएसएफ जैसे विभिन्न फ्रेमवर्क के लिए समर्थन भी प्रदान करता है।
स्प्रिंग फ्रेमवर्क
स्प्रिंग फ्रेमवर्क की विशेषताएं
अब इस स्प्रिंग ट्यूटोरियल में, हम स्प्रिंग फ्रेमवर्क की कुछ सबसे प्रमुख विशेषताओं को कवर करेंगे:
- पूर्वनिर्धारित टेम्पलेट्स
- परीक्षण करने में आसान
- लूस कपलिंग
- लाइटवेट
- तेज़ विकास
- शक्तिशाली अमूर्तन
- संसाधनों की एक श्रृंखला प्रदान करता है
- घोषणात्मक समर्थन
- व्यापक उपकरण प्रदान करता है
वसंत का संक्षिप्त इतिहास
अब इस स्प्रिंग फ्रेमवर्क ट्यूटोरियल में, हम स्प्रिंग के इतिहास के कुछ महत्वपूर्ण पड़ावों को कवर करेंगे:
- स्प्रिंग फ्रेमवर्क रॉड जॉनसन द्वारा लिखा गया था और इसे पहली बार जून 2002 में जारी किया गया था।
- वसंत लाsमार्च 2004 में t संस्करण जारी किया गया
- 1.2.6 में स्प्रिंग 2006 संस्करण जारी किया गया
- अक्टूबर 2.0 में स्प्रिंग 2006 संस्करण जारी किया गया
- नवंबर 2.5 में स्प्रिंग 2007 संस्करण जारी किया गया
- दिसंबर 3 में स्प्रिंग 2009 संस्करण जारी किया गया
- दिसंबर 3.1 में स्प्रिंग 2011 संस्करण जारी किया गया
- दिसंबर 4 में स्प्रिंग फ्रेमवर्क 2013 संस्करण जारी किया गया Java 8 समर्थन करते हैं
- जुलाई 4.2.0 को स्प्रिंग फ्रेमवर्क 2015 संस्करण जारी किया गया
- स्प्रिंग फ्रेमवर्क 4.2.1 संस्करण सितंबर 2015 में जारी किया गया
- स्प्रिंग फ्रेमवर्क 4.3 संस्करण 10 जून 2016 को जारी किया गया
- स्प्रिंग फ्रेमवर्क 5.0 संस्करण जून 2017 को जारी किया गया
स्प्रिंग फ्रेमवर्क Archiटेक्चर
स्प्रिंग फ्रेमवर्क Archiटेक्चर 20 मॉड्यूल प्रदान करता है जिनका उपयोग अनुप्रयोग की आवश्यकता के आधार पर किया जा सकता है।
स्प्रिंग फ्रेमवर्क Archiटेक्चर
RSI मूल और सेम आईओसी और डीआई सहित फ्रेमवर्क का मूलभूत हिस्सा प्रदान करें।
कोर कंटेनर
कोर कंटेनर को आगे कोर, बीन्स, कॉन्टेक्स्ट और एक्सप्रेशन लैंग्वेज मॉड्यूल जैसे उप-घटकों में विभाजित किया गया है।
आइये इनमें से प्रत्येक मॉडल को विस्तार से देखें:
स्प्रिंग कोर:
कोर मॉड्यूल स्प्रिंग फ्रेमवर्क के सभी प्राथमिक घटक प्रदान करता है। इसमें IoC (इनवर्जन ऑफ कंट्रोल) और डिपेंडेंसी इंजेक्शन सुविधाएँ शामिल हैं।
स्प्रिंग बीन:
यह मॉड्यूल बीनफैक्ट्री प्रदान करता है, जो फैक्ट्री पैटर्न का एक परिष्कृत कार्यान्वयन है।
वसंत संदर्भ:
संदर्भ मॉड्यूल कोर और बीन्स मॉड्यूल द्वारा प्रदान किए गए ठोस आधार पर निर्मित है, और यह एक ऐसा माध्यम है जो आपको परिभाषित और कॉन्फ़िगर किए गए किसी भी ऑब्जेक्ट तक पहुंचने में मदद करता है।
स्प्रिंग एक्सप्रेशन लैंग्वेज (SpEL):
यह मॉड्यूल रनटाइम के दौरान ऑब्जेक्ट ग्राफ को संशोधित करने और क्वेरी करने के लिए अभिव्यक्ति भाषा प्रदान करता है।
डेटा एक्सेस/एकीकरण:
डेटा एक्सेस और एकीकरण परत में JDBC, ORM, JDBC, OXM, JMS और ट्रांजेक्शन मॉड्यूल शामिल हैं।
- ORM: ORM मॉड्यूल डेटा एक्सेस तकनीकों के बावजूद कोड में स्थिरता/पोर्टेबिलिटी प्रदान करता है। यह ऑब्जेक्ट-ओरिएंटेड मैपिंग अवधारणा पर आधारित होगा।
- JDBC मॉड्यूल में JDBC-एब्स्ट्रक्शन परत होती है। यह आपको JDBC से संबंधित कोडिंग करने की आवश्यकता को पूरा करने में मदद करता है।
- ओएक्सएम: ऑब्जेक्ट एक्सएमएल मैपर्स (ओसीएम) आपको ऑब्जेक्ट्स को एक्सएमएल प्रारूप में और इसके विपरीत परिवर्तित करने में मदद करता है।
- RSI Java मैसेजिंग सेवा मॉड्यूल संदेशों के उत्पादन और उपभोग जैसी सुविधाएं प्रदान करता है।
- लेनदेन: यह मॉड्यूल अद्वितीय इंटरफेस को लागू करने और सभी प्रकार के POJO (प्लेन ओल्ड) के लिए घोषणात्मक और प्रोग्रामेटिक प्रबंधन विधि प्रदान करता है Java वस्तु)
स्प्रिंग वेब:
वेब: यह मॉड्यूल सर्वलेट श्रोताओं और वेब-उन्मुख अनुप्रयोग संदर्भ का उपयोग करता है। यह बहु-भाग फ़ाइल अपलोड के लिए वेब-उन्मुख एकीकरण और कार्यक्षमता की सुविधा भी प्रदान करता है।
वेब-सर्वलेट: यह मॉड्यूल MVC आधारित कार्यान्वयन को संग्रहीत करता है वेब अनुप्रयोग.
वेब सॉकेट: मॉड्यूल वेब ऐप्स में क्लाइंट और सर्वर के बीच वेबसॉकेट आधारित और दो-तरफ़ा संचार प्रदान करता है।
वेब-पोर्टलेट: इस मॉड्यूल को स्प्रिंग-एमवीसी-पोर्टलेट मॉड्यूल भी कहा जाता है। यह स्प्रिंग-आधारित पोर्टलेट्स के लिए ऑफ़र करता है और वेब-सर्वलेट मॉड्यूल की सभी कार्यक्षमता की प्रतिलिपि बनाता है।
एओपीएओपी भाषा एक उपयोगी उपकरण है जो डेवलपर्स को एप्लिकेशन में एंटरप्राइज़ कार्यक्षमता जोड़ने की अनुमति देता है।
इंस्ट्रूमेंटेशन: यह मॉड्यूल क्लास इंस्ट्रूमेंटेशन और लोडर कार्यान्वयन प्रदान करता है। इसका उपयोग विशिष्ट एप्लिकेशन सर्वर के लिए किया जाता है।
टेस्ट: यह मॉड्यूल स्प्रिंग घटकों के परीक्षण के लिए समर्थन प्रदान करता है TestNG or JUnit यह स्प्रिंग एप्लीकेशन कॉन्टेक्स्ट की लगातार लोडिंग और उन संदर्भों की कैशिंग प्रदान करता है।
स्प्रिंग – MVC फ्रेमवर्क
अब इस स्प्रिंग फ्रेमवर्क ट्यूटोरियल में, हम स्प्रिंग MVC फ्रेमवर्क के बारे में जानेंगे:
स्प्रिंग एमवीसी फ्रेमवर्क
स्प्रिंग वेब एमवीसी फ्रेमवर्क मॉडल-व्यू-कंट्रोलर आर्किटेक्चर प्रदान करता है जो घटकों की पेशकश करता है जो आपको लचीला और शिथिल रूप से युग्मित वेब एप्लिकेशन बनाने में मदद करता है।
MVC पैटर्न आपको एप्लिकेशन के विभिन्न पहलुओं को अलग करने की अनुमति देता है, जबकि इन तत्वों के बीच ढीला युग्मन प्रदान करता है। स्प्रिंग MVC आपको लचीले और ढीले युग्मित वेब एप्लिकेशन बनाने में भी मदद करता है।
MVC डिज़ाइन आपको बिज़नेस लॉजिक, प्रेजेंटेशन लॉजिक और नेविगेशन लॉजिक को अलग करने की भी अनुमति देता है। यह डिस्पैचरसर्वलेट की मदद से स्प्रिंग फ्रेमवर्क में MVC का उपयोग करने का एक शानदार समाधान भी प्रदान करता है।
स्प्रिंग में MVC कैसे काम करता है?
अब स्प्रिंग ट्यूटोरियल में हम सीखेंगे एमवीसी कैसे काम करता है वसंत में:
स्प्रिंग में MVC कैसे काम करता है
- डिस्पैचरसर्वलेट एक अनुरोध प्राप्त करता है.
- उसके बाद, डिस्पैचरसर्वलेट हैंडलरमैपिंग के साथ संचार करता है। यह उस विशिष्ट अनुरोध से जुड़े नियंत्रक को भी रद्द कर देता है।
- नियंत्रक सेवा विधियों को कॉल करके और डिस्पैचर सर्वलेट द्वारा लौटाए गए मॉडलएंडव्यू ऑब्जेक्ट द्वारा इस अनुरोध को संसाधित करता है।
- दृश्य नाम को ViewResolver को भेजा जाता है ताकि वह वास्तविक दृश्य को खोज सके।
- इसके बाद, परिणाम प्रस्तुत करने के लिए DispatcherServlet को View में भेजा जाता है।
- मॉडल डेटा का उपयोग करके, दृश्य प्रस्तुत करता है और उपयोगकर्ता को परिणाम वापस भेजता है।
पहलू आधारित प्रोग्रामिंग
पहलू-उन्मुख प्रोग्रामिंग किसी प्रोग्राम के वैश्विक गुणों को यह तय करने की अनुमति देती है कि इसे निष्पादन योग्य प्रोग्राम में कैसे संकलित किया जाए।
मॉड्यूलरिटी की मुख्य इकाई क्लास के बजाय एक पहलू है। पहलू-उन्मुख प्रोग्रामिंग प्रोग्राम के तर्क को विभिन्न भागों में विभाजित करती है जिन्हें चिंताएँ कहा जाता है।
एक क्रॉस-कटिंग चिंता पूरे अनुप्रयोग को प्रभावित कर सकती है और लेनदेन सुरक्षा, प्रबंधन, लॉगिंग, प्रमाणीकरण आदि जैसे कोड में एक स्थान पर केंद्रीकृत होती है।
क्रॉस-कटिंग चिंता
इसे डायनेमिक डेकोरेटर डिज़ाइन पैटर्न के रूप में भी माना जा सकता है। यह पैटर्न मूल क्लास को लपेटकर और उसके इंटरफ़ेस को डुप्लिकेट करके और मूल को हटाकर मौजूदा क्लास में जोड़ा जाने वाला एक अतिरिक्त व्यवहार भी प्रदान करता है।
कोर एओपी Concepts
आस्पेक्ट-ओरिएंटेड प्रोग्रामिंग में सात मुख्य अवधारणाएँ हैं।
कोर एओपी Concepts
आइए उन पर विस्तार से चर्चा करें:
- पहलू: एक पहलू एक वर्ग है जो JEE एप्लिकेशन को लागू करने की अनुमति देता है। यह कई वर्गों में कटौती करता है, जैसे लेनदेन प्रबंधन, सुरक्षा, आदि। पहलू स्प्रिंग XML कॉन्फ़िगरेशन का उपयोग करके कॉन्फ़िगर किया गया एक सामान्य वर्ग या @Aspect एनोटेशन का उपयोग करके एनोटेट किया गया एक नियमित वर्ग हो सकता है।
- जॉइनपॉइंट: यह प्रोग्राम निष्पादन में एक संभावित बिंदु है, जहां एक पहलू को शामिल किया जा सकता है। यह एक विधि हो सकती है जिसे अपवाद के रूप में बुलाया जा रहा है, या यहां तक कि एक फ़ील्ड भी हो सकती है जिसे संशोधित किया गया है।
- सलाह: सलाह किसी विशिष्ट जॉइनपॉइंट के लिए की गई वास्तविक क्रियाएँ हैं। यह विधि तब निष्पादित होगी जब कोई विशिष्ट जॉइनपॉइंट एप्लिकेशन में किसी मिलान बिंदु से मिलता है।
- पॉइंटकट: यह एक अभिव्यक्ति है जिसका मिलान जॉइन पॉइंट्स के साथ करके यह जांचा जा सकता है कि उस सलाह को क्रियान्वित किया जाना चाहिए या नहीं।
- Target ऑब्जेक्ट: लक्ष्य ऑब्जेक्ट के आधार पर डिवाइस लागू किए जाते हैं। AOP में, रनटाइम पर एक उपवर्ग बनाया जाता है जहाँ लक्ष्य विधि को ओवरराइड किया जाना चाहिए, और उनके कॉन्फ़िगरेशन के आधार पर सलाह शामिल की जाती है।
- प्रॉक्सी: यह ऑब्जेक्ट लक्ष्य ऑब्जेक्ट पर सलाह लागू करने के बाद बनाया जाना चाहिए।
- बुनाई: यह एक परामर्शित ऑब्जेक्ट बनाने के लिए किसी पहलू को अन्य अनुप्रयोग ऑब्जेक्ट या प्रकारों के साथ जोड़ने की एक विधि है।
की स्थापना Java वसंत
अब इसमें Java स्प्रिंग ट्यूटोरियल में, हम स्थापित करने के लिए चरण दर चरण जानकारी सीखेंगे Java आपके कंप्यूटर में स्प्रिंग:
चरण 1) अपना ब्राउज़र खोलें।
Eclipse.org.
चरण 2) डाउनलोड Eclipse स्थापित करें।
डाउनलोड Eclipse Neon इंस्टॉलर डाउनलोड करें और इसे अपने डिवाइस पर इंस्टॉल करें Windows प्रणाली।
चरण 3) 64-बिट संस्करण खोजें.
“64-बिट डाउनलोड करें” बटन पर क्लिक करें।
चरण 4) इसके लिए IDE खोजें Java डेवलपर्स।
Eclipse आईडीई के लिए Java डेवलपर्स और “64-बिट” लिंक पर क्लिक करें।
चरण 5) 64-बिट लिंक खोजें.
पर क्लिक करें "Windows 64-बिट” लिंक पर क्लिक करें।
चरण 6) ज़िप फ़ाइल डाउनलोड करें।
ज़िप फ़ाइल डाउनलोड करने के लिए “डाउनलोड” बटन पर क्लिक करें।
चरण 7) ज़िप फ़ाइल निकालें।
डाउनलोड ज़िप को एक विशिष्ट फ़ोल्डर में निकालें।
चरण 8) कार्यस्थान निर्देशिका का चयन करें.
कार्यक्षेत्र निर्देशिका का चयन करने के लिए “ब्राउज़” बटन पर क्लिक करें।
चरण 9) फ़ोल्डर का चयन करें.
किसी फ़ोल्डर का चयन करने के लिए “फ़ोल्डर का चयन करें” पर क्लिक करें।
प्रक्रिया निम्न स्क्रीन में दिखाए अनुसार प्रदर्शित होगी।
चरण 10) क्लाइंट खोलें.
उद्घाटन Eclipse बाज़ार ग्राहक.
- सहायता मेनू पर जाएँ.
- पर क्लिक करें "Eclipse मार्केटप्लेस” विकल्प चुनें।
चरण 11) वसंत प्लगइन खोजें.
स्प्रिंग प्लगइन खोजना और स्थापित करना।
- “ढूंढें” टेक्स्टबॉक्स में स्प्रिंग लिखें।
- “खोज” आइकन पर क्लिक करें।
- प्लगइन स्थापित करने के लिए “इंस्टॉल करें” बटन पर क्लिक करें।
चरण 12) 'पुष्टि करें' बटन पर क्लिक करें.
चयनित सुविधाओं की पुष्टि करें और “पुष्टि करें” बटन पर क्लिक करें।
चरण 13) शर्तें स्वीकार करें.
नियम व शर्तों को स्वीकार करना और सॉफ्टवेयर स्थापित करना।
- “मैं लाइसेंस समझौते की शर्तों को स्वीकार करता हूँ” रेडियो बटन पर क्लिक करें।
- स्थापना समाप्त करने के लिए “समाप्त करें” बटन पर क्लिक करें।
सॉफ्टवेयर स्थापना प्रगति के साथ एक स्वागत स्क्रीन प्रदर्शित होगी।
चरण 14) IDE पुनः आरंभ करें.
पुनः आरंभ करने के लिए “अभी पुनः आरंभ करें” बटन पर क्लिक करें Eclipse आईडीई और परिवर्तनों को लागू करें।
निम्नलिखित स्क्रीन प्रदर्शित की जाएगी:
स्प्रिंग फ्रेमवर्क के लाभ
यहां, स्प्रिंग के उपयोग के महत्वपूर्ण लाभ दिए गए हैं।
- स्प्रिंग डेवलपर्स को POJOs की सहायता से एंटरप्राइज़-क्लास एप्लिकेशन विकसित करने की अनुमति देता है।
- लंबा कोड लिखने से बचने के लिए हाइबरनेट, जेडीबीसी, हाइबरनेट, जेपीए आदि के लिए टेम्पलेट्स प्रदान करता है।
- अमूर्तता प्रदान करता है Java एंटरप्राइज़ संस्करण (जेईई)।
- आप एक स्प्रिंग को मॉड्यूलर तरीके से व्यवस्थित कर सकते हैं। ताकि अगर पैकेज और क्लास की संख्या पर्याप्त हो, तो आपको केवल अपनी ज़रूरत के बारे में ही सोचना होगा और बाकी को अनदेखा करना होगा।
- यह लेनदेन, स्वरूपण, सत्यापन, कैशिंग आदि के लिए घोषणात्मक समर्थन प्रदान करता है।
- स्प्रिंग का उपयोग करके विकसित किया गया अनुप्रयोग सरल है क्योंकि पर्यावरण-निर्भर कोड को इस फ्रेमवर्क में स्थानांतरित किया जाता है।
स्प्रिंग फ्रेमवर्क के नुकसान
यहां, स्प्रिंग फ्रेमवर्क की कमियां/नुकसान हैं।
- Java वसंत ऋतु बहुत अधिक प्रतिबंध प्रस्तुत करती है।
- कोड सार्वजनिक है और सभी को दिखाई देता है।
- यह कस्टम-निर्मित सुविधाएं भी प्रदान नहीं करता है।
सारांश
- स्प्रिंग फ्रेमवर्क एक उपयोग में आसान ओपन-सोर्स है Java मंच
- पूर्वनिर्धारित टेम्पलेट्स और ढीले जोड़े इसकी महत्वपूर्ण विशेषताएं हैं Java वसंत
- स्प्रिंग फ्रेमवर्क रॉड जॉनसन द्वारा लिखा गया था और इसे पहली बार जून 2002 में जारी किया गया था
- स्प्रिंग फ्रेमवर्क 20 मॉड्यूल प्रदान करता है जिनका उपयोग अनुप्रयोग की आवश्यकता के आधार पर किया जा सकता है।
- Java स्प्रिंग डिस्पैचर सर्वलेट हैंडलर मैपिंग के साथ संचार करता है। यह उस विशिष्ट अनुरोध से जुड़े नियंत्रक को भी रद्द कर देता है।
- पहलू-उन्मुख प्रोग्रामिंग किसी प्रोग्राम के वैश्विक गुणों को यह तय करने की अनुमति देती है कि इसे निष्पादन योग्य प्रोग्राम में कैसे संकलित किया जाए।
- का सबसे बड़ा फायदा Java स्प्रिंग की खासियत यह है कि यह डेवलपर्स को POJO की मदद से एंटरप्राइज़-क्लास एप्लिकेशन विकसित करने की अनुमति देता है
- सबसे बड़ी खामी Java वसंत ऋतु की सबसे बड़ी समस्या यह है कि यह बहुत अधिक प्रतिबंध लगाती है।
यह भी जांचें: - शीर्ष 80 स्प्रिंग एमवीसी फ्रेमवर्क साक्षात्कार प्रश्न और उत्तर