
Spring Boot & Spring Framework Full Course | Spring Boot Full Course #1
Coder Army
Overview
यह वीडियो स्प्रिंग फ्रेमवर्क और स्प्रिंग बूट की एक विस्तृत श्रृंखला का परिचय देता है, जो शुरुआती लोगों के लिए डिज़ाइन की गई है। यह क्लाइंट-सर्वर आर्किटेक्चर, HTTP प्रोटोकॉल और वेब डेवलपमेंट की मूल बातें समझाता है। वीडियो बताता है कि कैसे कोर जावा से वेब एप्लिकेशन बनाना जटिल हो सकता है और सर्वलेट और सर्वलेट कंटेनर जैसे समाधान कैसे पेश किए गए। अंत में, यह स्प्रिंग फ्रेमवर्क के विभिन्न मॉड्यूलों, जैसे स्प्रिंग कोर, स्प्रिंग एमवीसी, स्प्रिंग डेटा और स्प्रिंग बूट का परिचय देता है, यह समझाते हुए कि वे कैसे मिलकर जावा फुल-स्टैक डेवलपमेंट को सरल और अधिक उत्पादक बनाते हैं।
Save this permanently with flashcards, quizzes, and AI chat
Chapters
- यह सीरीज बिगिनर-फ्रेंडली है और स्प्रिंग फ्रेमवर्क और स्प्रिंग बूट के सभी पहलुओं को कवर करेगी।
- सिर्फ स्प्रिंग बूट सीखना काफी नहीं है; स्प्रिंग कोर और स्प्रिंग एमवीसी की समझ भी महत्वपूर्ण है।
- सीरीज का लक्ष्य आपको किसी भी स्प्रिंग इंटरव्यू को क्रैक करने या अपना प्रोजेक्ट बनाने में मदद करना है।
- व्यावहारिक ज्ञान और इंडस्ट्री-लेवल इनसाइट्स साझा किए जाएंगे, साथ ही नोट्स और प्रैक्टिस प्रश्न भी प्रदान किए जाएंगे।
- क्लाइंट-सर्वर आर्किटेक्चर में, क्लाइंट सर्वर को रिक्वेस्ट भेजता है, और सर्वर प्रोसेस करके रिस्पांस भेजता है।
- क्लाइंट कोई भी हो सकता है: ब्राउज़र, मोबाइल ऐप, या कोई अन्य सर्वर।
- सर्वर रिक्वेस्ट को रिसीव करता है, प्रोसेस करता है (जैसे डेटाबेस ऑपरेशन, ऑथेंटिकेशन), और रिस्पांस देता है।
- HTTP (हाइपरटेक्स्ट ट्रांसफर प्रोटोकॉल) क्लाइंट और सर्वर के बीच कम्युनिकेशन के लिए एक स्टैंडर्ड लैंग्वेज और फॉर्मेट प्रदान करता है।
- HTTP मेथड्स (GET, POST, PUT, DELETE) विभिन्न प्रकार के ऑपरेशंस को दर्शाते हैं, और HTTPS डेटा को सुरक्षित (एन्क्रिप्टेड) रखता है।
- एक HTTP रिक्वेस्ट में मेथड (जैसे GET), URL (पाथ/एंडपॉइंट), हेडर्स (मेटाडेटा) और बॉडी (डेटा) शामिल होते हैं।
- एक HTTP रिस्पांस में स्टेटस कोड (जैसे 200 OK, 404 Not Found), हेडर्स और बॉडी (एक्चुअल डेटा) होते हैं।
- हेडर्स में कंटेंट-टाइप जैसे महत्वपूर्ण मेटाडेटा होते हैं, जो बताते हैं कि डेटा किस फॉर्मेट में है (जैसे JSON)।
- बॉडी में वह एक्चुअल डेटा होता है जिसे भेजा या प्राप्त किया जा रहा है (जैसे लॉगिन क्रेडेंशियल्स या कोर्स लिस्ट)।
- कोर जावा में, प्रोग्राम एक बार चलता है और फिर एग्जिट हो जाता है, जबकि वेब एप्लिकेशन लगातार चलती रहनी चाहिए।
- कोर जावा (java.net पैकेज) का उपयोग करके इनकमिंग HTTP रिक्वेस्ट को सुनना और प्रोसेस करना संभव है, लेकिन यह जटिल है।
- HTTP रिक्वेस्ट को मैन्युअल रूप से पार्स करना, एंडपॉइंट्स को मेथड्स से मैप करना और HTTP रिस्पांस बनाना पड़ता है।
- मल्टी-थ्रेडिंग को मैन्युअल रूप से लागू करना पड़ता है ताकि एक साथ कई यूजर्स को हैंडल किया जा सके।
- यह मैन्युअल प्रक्रिया बहुत अधिक बॉयलरप्लेट कोड की मांग करती है।
- सर्वलेट (जावा क्लास) और सर्वलेट कंटेनर (जैसे Tomcat) को वेब डेवलपमेंट को सरल बनाने के लिए पेश किया गया था।
- सर्वलेट कंटेनर इनकमिंग HTTP रिक्वेस्ट को हैंडल करता है, उन्हें पार्स करता है, और सही सर्वलेट को कॉल करता है।
- यह पोर्ट मैनेजमेंट, थ्रेडिंग और HTTP रिक्वेस्ट/रिस्पांस फॉर्मेटिंग जैसे बॉयलरप्लेट कार्यों को संभालता है।
- डेवलपर्स अब बिजनेस लॉजिक पर अधिक ध्यान केंद्रित कर सकते हैं क्योंकि कंटेनर अधिकांश निम्न-स्तरीय कार्य करता है।
- क्लाइंट रिक्वेस्ट सर्वलेट कंटेनर (जैसे Tomcat) पर जाती है, जो इसे एक सर्वलेट को भेजता है, और सर्वलेट रिस्पांस वापस कंटेनर को भेजता है, जो इसे क्लाइंट को भेजता है।
- स्प्रिंग फ्रेमवर्क सर्वलेट-आधारित कोड की टाइट कपलिंग की समस्या को हल करने के लिए पेश किया गया था।
- यह डिपेंडेंसी इंजेक्शन (DI) और इन्वर्जन ऑफ कंट्रोल (IoC) जैसे कॉन्सेप्ट्स का उपयोग करके एप्लीकेशन्स को लूजली कपल्ड बनाता है।
- स्प्रिंग एक इकोसिस्टम है जिसमें स्प्रिंग कोर, स्प्रिंग एमवीसी, स्प्रिंग डेटा, स्प्रिंग एओपी, स्प्रिंग सिक्योरिटी जैसे कई फ्रेमवर्क शामिल हैं।
- स्प्रिंग का उपयोग केवल वेब ऐप्स के लिए नहीं, बल्कि माइक्रो सर्विसेज, क्लाउड एप्लीकेशनेशंस और इवेंट-ड्रिवन सिस्टम बनाने के लिए भी किया जा सकता है।
- स्प्रिंग जावा को सरल, आधुनिक और प्रोडक्टिव बनाता है।
- स्प्रिंग बूट स्प्रिंग फ्रेमवर्क के ऊपर एक ऑटोमेशन लेयर है जो डेवलपमेंट को तेज करता है।
- यह एक ओपिनियनेटेड सिस्टम है जो प्री-कॉन्फ़िगरेशन के साथ आता है, जिससे प्रोजेक्ट सेटअप जल्दी हो जाता है।
- स्प्रिंग बूट को समझने के लिए स्प्रिंग एमवीसी, स्प्रिंग डेटा, एओपी और सिक्योरिटी जैसे मॉड्यूल्स की समझ आवश्यक है।
- स्प्रिंग डेटा डेटाबेस कनेक्टिविटी को सरल बनाता है, जो पहले JDBC, फिर JPA (जैसे Hibernate द्वारा कार्यान्वित) और अंततः स्प्रिंग जेपीए के माध्यम से विकसित हुआ।
- स्प्रिंग माइक्रो सर्विस एक आर्किटेक्चरल स्टाइल है, न कि एक अलग स्प्रिंग मॉड्यूल; इसे मोनोलिथिक या माइक्रो सर्विस आर्किटेक्चर के रूप में लागू किया जा सकता है।
Key takeaways
- वेब एप्लिकेशन क्लाइंट-सर्वर मॉडल पर काम करती हैं, जिसमें HTTP कम्युनिकेशन का मुख्य प्रोटोकॉल है।
- कोर जावा से सीधे वेब एप्लिकेशन बनाना संभव है, लेकिन यह अत्यधिक जटिल और बॉयलरप्लेट-इंटेंसिव है।
- सर्वलेट और सर्वलेट कंटेनर ने जावा वेब डेवलपमेंट को मानकीकृत किया, जिससे डेवलपर्स को निम्न-स्तरीय विवरणों से मुक्ति मिली।
- स्प्रिंग फ्रेमवर्क डिपेंडेंसी इंजेक्शन और लूज कपलिंग के माध्यम से एप्लीकेशन्स को अधिक स्केलेबल और मेंटेनेबल बनाता है।
- स्प्रिंग एक व्यापक इकोसिस्टम है जिसमें वेब डेवलपमेंट (MVC), डेटा एक्सेस (Data), सुरक्षा (Security) और बहुत कुछ शामिल है।
- स्प्रिंग बूट डेवलपमेंट प्रक्रिया को तेज करता है और प्री-कॉन्फ़िगरेशन प्रदान करता है, लेकिन इसके लिए अंतर्निहित स्प्रिंग कॉन्सेप्ट्स की समझ की आवश्यकता होती है।
- जावा फुल-स्टैक डेवलपर बनने के लिए स्प्रिंग इकोसिस्टम की पूरी आर्किटेक्चरल समझ आवश्यक है।
Key terms
Test your understanding
- क्लाइंट-सर्वर आर्किटेक्चर में क्लाइंट और सर्वर की भूमिकाओं को विस्तार से समझाएं।
- HTTP रिक्वेस्ट और रिस्पांस के मुख्य घटकों का वर्णन करें और प्रत्येक के उद्देश्य को स्पष्ट करें।
- कोर जावा का उपयोग करके वेब एप्लिकेशन बनाने में आने वाली प्रमुख चुनौतियों का वर्णन करें।
- सर्वलेट कंटेनर वेब डेवलपमेंट प्रक्रिया को कैसे सरल बनाता है?
- स्प्रिंग फ्रेमवर्क के डिपेंडेंसी इंजेक्शन (DI) और इन्वर्जन ऑफ कंट्रोल (IoC) के कॉन्सेप्ट्स को समझाएं और वे एप्लीकेशन्स को कैसे लूजली कपल्ड बनाते हैं।
- स्प्रिंग बूट, स्प्रिंग एमवीसी और स्प्रिंग कोर के बीच संबंध क्या है और स्प्रिंग बूट डेवलपमेंट को कैसे तेज करता है?