Spring Boot & Spring Framework Full Course | Spring Boot Full Course #1
43:41

Spring Boot & Spring Framework Full Course | Spring Boot Full Course #1

Coder Army

7 chapters7 takeaways21 key terms6 questions

Overview

यह वीडियो स्प्रिंग फ्रेमवर्क और स्प्रिंग बूट की एक विस्तृत श्रृंखला का परिचय देता है, जो शुरुआती लोगों के लिए डिज़ाइन की गई है। यह क्लाइंट-सर्वर आर्किटेक्चर, HTTP प्रोटोकॉल और वेब डेवलपमेंट की मूल बातें समझाता है। वीडियो बताता है कि कैसे कोर जावा से वेब एप्लिकेशन बनाना जटिल हो सकता है और सर्वलेट और सर्वलेट कंटेनर जैसे समाधान कैसे पेश किए गए। अंत में, यह स्प्रिंग फ्रेमवर्क के विभिन्न मॉड्यूलों, जैसे स्प्रिंग कोर, स्प्रिंग एमवीसी, स्प्रिंग डेटा और स्प्रिंग बूट का परिचय देता है, यह समझाते हुए कि वे कैसे मिलकर जावा फुल-स्टैक डेवलपमेंट को सरल और अधिक उत्पादक बनाते हैं।

How was this?

Save this permanently with flashcards, quizzes, and AI chat

Chapters

  • यह सीरीज बिगिनर-फ्रेंडली है और स्प्रिंग फ्रेमवर्क और स्प्रिंग बूट के सभी पहलुओं को कवर करेगी।
  • सिर्फ स्प्रिंग बूट सीखना काफी नहीं है; स्प्रिंग कोर और स्प्रिंग एमवीसी की समझ भी महत्वपूर्ण है।
  • सीरीज का लक्ष्य आपको किसी भी स्प्रिंग इंटरव्यू को क्रैक करने या अपना प्रोजेक्ट बनाने में मदद करना है।
  • व्यावहारिक ज्ञान और इंडस्ट्री-लेवल इनसाइट्स साझा किए जाएंगे, साथ ही नोट्स और प्रैक्टिस प्रश्न भी प्रदान किए जाएंगे।
यह अध्याय स्प्रिंग इकोसिस्टम की व्यापक समझ के लिए एक आधार तैयार करता है, यह बताते हुए कि यह क्यों महत्वपूर्ण है और इस सीरीज से क्या उम्मीद की जा सकती है।
नोट्स और प्रैक्टिस प्रश्न गेटहब चैनल पर प्रदान किए जाएंगे।
  • क्लाइंट-सर्वर आर्किटेक्चर में, क्लाइंट सर्वर को रिक्वेस्ट भेजता है, और सर्वर प्रोसेस करके रिस्पांस भेजता है।
  • क्लाइंट कोई भी हो सकता है: ब्राउज़र, मोबाइल ऐप, या कोई अन्य सर्वर।
  • सर्वर रिक्वेस्ट को रिसीव करता है, प्रोसेस करता है (जैसे डेटाबेस ऑपरेशन, ऑथेंटिकेशन), और रिस्पांस देता है।
  • HTTP (हाइपरटेक्स्ट ट्रांसफर प्रोटोकॉल) क्लाइंट और सर्वर के बीच कम्युनिकेशन के लिए एक स्टैंडर्ड लैंग्वेज और फॉर्मेट प्रदान करता है।
  • HTTP मेथड्स (GET, POST, PUT, DELETE) विभिन्न प्रकार के ऑपरेशंस को दर्शाते हैं, और HTTPS डेटा को सुरक्षित (एन्क्रिप्टेड) रखता है।
वेब एप्लिकेशन कैसे काम करती है, इसकी मूलभूत समझ के लिए क्लाइंट-सर्वर मॉडल और HTTP प्रोटोकॉल को समझना आवश्यक है।
जब आप Amazon.com पर जाते हैं, तो आपका ब्राउज़र (क्लाइंट) Amazon के सर्वर को एक HTTP रिक्वेस्ट भेजता है, और सर्वर आपको वेब पेज (रिस्पांस) दिखाता है।
  • एक HTTP रिक्वेस्ट में मेथड (जैसे GET), URL (पाथ/एंडपॉइंट), हेडर्स (मेटाडेटा) और बॉडी (डेटा) शामिल होते हैं।
  • एक HTTP रिस्पांस में स्टेटस कोड (जैसे 200 OK, 404 Not Found), हेडर्स और बॉडी (एक्चुअल डेटा) होते हैं।
  • हेडर्स में कंटेंट-टाइप जैसे महत्वपूर्ण मेटाडेटा होते हैं, जो बताते हैं कि डेटा किस फॉर्मेट में है (जैसे JSON)।
  • बॉडी में वह एक्चुअल डेटा होता है जिसे भेजा या प्राप्त किया जा रहा है (जैसे लॉगिन क्रेडेंशियल्स या कोर्स लिस्ट)।
रिक्वेस्ट और रिस्पांस के स्ट्रक्चर को समझने से यह जानने में मदद मिलती है कि डेटा सर्वर तक कैसे पहुंचता है और सर्वर से कैसे वापस आता है।
लॉगिन करते समय, आप एक POST रिक्वेस्ट भेजते हैं जिसमें आपके ईमेल और पासवर्ड (बॉडी में) होते हैं, और सर्वर एक 200 OK स्टेटस कोड (रिस्पांस में) के साथ 'लॉगिन सक्सेसफुल' का मैसेज भेज सकता है।
  • कोर जावा में, प्रोग्राम एक बार चलता है और फिर एग्जिट हो जाता है, जबकि वेब एप्लिकेशन लगातार चलती रहनी चाहिए।
  • कोर जावा (java.net पैकेज) का उपयोग करके इनकमिंग HTTP रिक्वेस्ट को सुनना और प्रोसेस करना संभव है, लेकिन यह जटिल है।
  • HTTP रिक्वेस्ट को मैन्युअल रूप से पार्स करना, एंडपॉइंट्स को मेथड्स से मैप करना और HTTP रिस्पांस बनाना पड़ता है।
  • मल्टी-थ्रेडिंग को मैन्युअल रूप से लागू करना पड़ता है ताकि एक साथ कई यूजर्स को हैंडल किया जा सके।
  • यह मैन्युअल प्रक्रिया बहुत अधिक बॉयलरप्लेट कोड की मांग करती है।
यह बताता है कि क्यों केवल कोर जावा वेब एप्लिकेशन बनाने के लिए पर्याप्त नहीं है और क्यों अधिक उन्नत समाधानों की आवश्यकता है।
कोर जावा में, आपको मैन्युअल रूप से इनपुट स्ट्रीम को पढ़ना होगा, रिक्वेस्ट को पार्स करना होगा, और फिर एक मेथड को कॉल करना होगा, जैसे कि 'if endpoint equals /courses then call getCoursesMethod()'.
  • सर्वलेट (जावा क्लास) और सर्वलेट कंटेनर (जैसे Tomcat) को वेब डेवलपमेंट को सरल बनाने के लिए पेश किया गया था।
  • सर्वलेट कंटेनर इनकमिंग HTTP रिक्वेस्ट को हैंडल करता है, उन्हें पार्स करता है, और सही सर्वलेट को कॉल करता है।
  • यह पोर्ट मैनेजमेंट, थ्रेडिंग और HTTP रिक्वेस्ट/रिस्पांस फॉर्मेटिंग जैसे बॉयलरप्लेट कार्यों को संभालता है।
  • डेवलपर्स अब बिजनेस लॉजिक पर अधिक ध्यान केंद्रित कर सकते हैं क्योंकि कंटेनर अधिकांश निम्न-स्तरीय कार्य करता है।
  • क्लाइंट रिक्वेस्ट सर्वलेट कंटेनर (जैसे Tomcat) पर जाती है, जो इसे एक सर्वलेट को भेजता है, और सर्वलेट रिस्पांस वापस कंटेनर को भेजता है, जो इसे क्लाइंट को भेजता है।
सर्वलेट और सर्वलेट कंटेनर ने जावा में वेब एप्लिकेशन डेवलपमेंट के लिए एक मानकीकृत और अधिक कुशल तरीका प्रदान किया।
Tomcat एक सर्वलेट कंटेनर है जो इनकमिंग रिक्वेस्ट को पढ़ता है और उन्हें एक विशिष्ट सर्वलेट क्लास में रूट करता है जो आपके द्वारा परिभाषित लॉजिक को एक्जीक्यूट करता है।
  • स्प्रिंग फ्रेमवर्क सर्वलेट-आधारित कोड की टाइट कपलिंग की समस्या को हल करने के लिए पेश किया गया था।
  • यह डिपेंडेंसी इंजेक्शन (DI) और इन्वर्जन ऑफ कंट्रोल (IoC) जैसे कॉन्सेप्ट्स का उपयोग करके एप्लीकेशन्स को लूजली कपल्ड बनाता है।
  • स्प्रिंग एक इकोसिस्टम है जिसमें स्प्रिंग कोर, स्प्रिंग एमवीसी, स्प्रिंग डेटा, स्प्रिंग एओपी, स्प्रिंग सिक्योरिटी जैसे कई फ्रेमवर्क शामिल हैं।
  • स्प्रिंग का उपयोग केवल वेब ऐप्स के लिए नहीं, बल्कि माइक्रो सर्विसेज, क्लाउड एप्लीकेशनेशंस और इवेंट-ड्रिवन सिस्टम बनाने के लिए भी किया जा सकता है।
  • स्प्रिंग जावा को सरल, आधुनिक और प्रोडक्टिव बनाता है।
स्प्रिंग फ्रेमवर्क आधुनिक जावा एंटरप्राइज डेवलपमेंट का आधार है, जो एप्लीकेशन्स को अधिक स्केलेबल, मेंटेनेबल और डेवलप करने में आसान बनाता है।
स्प्रिंग कोर डिपेंडेंसी इंजेक्शन का उपयोग करता है, जहां ऑब्जेक्ट्स को मैन्युअल रूप से बनाने के बजाय स्प्रिंग कंटेनर द्वारा प्रबंधित और इंजेक्ट किया जाता है।
  • स्प्रिंग बूट स्प्रिंग फ्रेमवर्क के ऊपर एक ऑटोमेशन लेयर है जो डेवलपमेंट को तेज करता है।
  • यह एक ओपिनियनेटेड सिस्टम है जो प्री-कॉन्फ़िगरेशन के साथ आता है, जिससे प्रोजेक्ट सेटअप जल्दी हो जाता है।
  • स्प्रिंग बूट को समझने के लिए स्प्रिंग एमवीसी, स्प्रिंग डेटा, एओपी और सिक्योरिटी जैसे मॉड्यूल्स की समझ आवश्यक है।
  • स्प्रिंग डेटा डेटाबेस कनेक्टिविटी को सरल बनाता है, जो पहले JDBC, फिर JPA (जैसे Hibernate द्वारा कार्यान्वित) और अंततः स्प्रिंग जेपीए के माध्यम से विकसित हुआ।
  • स्प्रिंग माइक्रो सर्विस एक आर्किटेक्चरल स्टाइल है, न कि एक अलग स्प्रिंग मॉड्यूल; इसे मोनोलिथिक या माइक्रो सर्विस आर्किटेक्चर के रूप में लागू किया जा सकता है।
स्प्रिंग बूट डेवलपमेंट को काफी तेज करता है, और स्प्रिंग डेटा डेटाबेस इंटरैक्शन को सरल बनाता है, जो आधुनिक वेब एप्लिकेशन डेवलपमेंट के लिए महत्वपूर्ण हैं।
स्प्रिंग बूट 'स्टार्टर' डिपेंडेंसी प्रदान करता है जो वेब एप्लिकेशन बनाने के लिए आवश्यक सभी कॉन्फ़िगरेशन को स्वचालित रूप से सेट करता है।

Key takeaways

  1. 1वेब एप्लिकेशन क्लाइंट-सर्वर मॉडल पर काम करती हैं, जिसमें HTTP कम्युनिकेशन का मुख्य प्रोटोकॉल है।
  2. 2कोर जावा से सीधे वेब एप्लिकेशन बनाना संभव है, लेकिन यह अत्यधिक जटिल और बॉयलरप्लेट-इंटेंसिव है।
  3. 3सर्वलेट और सर्वलेट कंटेनर ने जावा वेब डेवलपमेंट को मानकीकृत किया, जिससे डेवलपर्स को निम्न-स्तरीय विवरणों से मुक्ति मिली।
  4. 4स्प्रिंग फ्रेमवर्क डिपेंडेंसी इंजेक्शन और लूज कपलिंग के माध्यम से एप्लीकेशन्स को अधिक स्केलेबल और मेंटेनेबल बनाता है।
  5. 5स्प्रिंग एक व्यापक इकोसिस्टम है जिसमें वेब डेवलपमेंट (MVC), डेटा एक्सेस (Data), सुरक्षा (Security) और बहुत कुछ शामिल है।
  6. 6स्प्रिंग बूट डेवलपमेंट प्रक्रिया को तेज करता है और प्री-कॉन्फ़िगरेशन प्रदान करता है, लेकिन इसके लिए अंतर्निहित स्प्रिंग कॉन्सेप्ट्स की समझ की आवश्यकता होती है।
  7. 7जावा फुल-स्टैक डेवलपर बनने के लिए स्प्रिंग इकोसिस्टम की पूरी आर्किटेक्चरल समझ आवश्यक है।

Key terms

Client-Server ArchitectureHTTP (Hypertext Transfer Protocol)HTTP Request/ResponseHTTP Methods (GET, POST, PUT, DELETE)HTTPS (Secure HTTP)ServletServlet Container (e.g., Tomcat)Spring FrameworkInversion of Control (IoC)Dependency Injection (DI)Spring CoreSpring MVCSpring BootSpring DataJDBC (Java Database Connectivity)JPA (Java Persistence API)HibernateMicroservices ArchitectureMonolithic ArchitecturePort NumberURL / Endpoint

Test your understanding

  1. 1क्लाइंट-सर्वर आर्किटेक्चर में क्लाइंट और सर्वर की भूमिकाओं को विस्तार से समझाएं।
  2. 2HTTP रिक्वेस्ट और रिस्पांस के मुख्य घटकों का वर्णन करें और प्रत्येक के उद्देश्य को स्पष्ट करें।
  3. 3कोर जावा का उपयोग करके वेब एप्लिकेशन बनाने में आने वाली प्रमुख चुनौतियों का वर्णन करें।
  4. 4सर्वलेट कंटेनर वेब डेवलपमेंट प्रक्रिया को कैसे सरल बनाता है?
  5. 5स्प्रिंग फ्रेमवर्क के डिपेंडेंसी इंजेक्शन (DI) और इन्वर्जन ऑफ कंट्रोल (IoC) के कॉन्सेप्ट्स को समझाएं और वे एप्लीकेशन्स को कैसे लूजली कपल्ड बनाते हैं।
  6. 6स्प्रिंग बूट, स्प्रिंग एमवीसी और स्प्रिंग कोर के बीच संबंध क्या है और स्प्रिंग बूट डेवलपमेंट को कैसे तेज करता है?

Turn any lecture into study material

Paste a YouTube URL, PDF, or article. Get flashcards, quizzes, summaries, and AI chat — in seconds.

No credit card required