Spring Boot Java: पूर्ण गाइड उदाहरणों के साथ

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

Spring Boot क्या है और इसकी आवश्यकता क्यों है?

Spring Boot एक फ्रेमवर्क है जो Java एप्लिकेशन बनाने के लिए उपयोग किया जाता है। यह लोकप्रिय Spring Framework के ऊपर एक अतिरिक्त लेयर है। इसका मुख्य उद्देश्य production-grade एप्लिकेशन के विकास को सरल और तेज़ बनाना है, जिससे डेवलपर को रूटीन कॉन्फ़िगरेशन से मुक्ति मिलती है।

Spring Boot निम्नलिखित मुख्य समस्याओं का समाधान करता है:

  • ऑटोकॉन्फ़िगरेशन: फ्रेमवर्क प्रोजेक्ट में जोड़ी गई डिपेंडेंसी के आधार पर स्वचालित रूप से बीन्स और कंपोनेंट्स को कॉन्फ़िगर करता है। DataSource, JPA, Security आदि सेट करने के लिए आपको मैन्युअल रूप से XML कॉन्फ़िगरेशन या Java क्लास लिखने की आवश्यकता नहीं है।
  • इनबिल्ट सर्वर: Spring Boot एप्लिकेशन इनबिल्ट Tomcat, Jetty या Undertow के साथ स्वतंत्र JAR फ़ाइलों के रूप में चलते हैं। इससे बाहरी सर्वर पर WAR फ़ाइलें डिप्लॉय करने की आवश्यकता नहीं रहती।
  • Production-ready: यह बॉक्स से बाहर मेट्रिक्स, health checks, और application.properties/yml के माध्यम से बाहरी कॉन्फ़िगरेशन प्रदान करता है।
  • न्यूनतम कॉन्फ़िगरेशन: स्टार्टर डिपेंडेंसी (starters) संबंधित लाइब्रेरीज़ को समूहित करती हैं, ताकि आप दस के बजाय एक डिपेंडेंसी जोड़ सकें।

Spring Boot माइक्रोसर्विसेज, REST API, वेब एप्लिकेशन, बैच डेटा प्रोसेसिंग और एंटरप्राइज सिस्टम बनाने के लिए आदर्श है।

Spring Boot इंस्टॉलेशन

Spring Boot pip या npm के माध्यम से इंस्टॉल नहीं होता। यह एक Java फ्रेमवर्क है जिसे Maven या Gradle बिल्ड सिस्टम में डिपेंडेंसी के रूप में जोड़ा जाता है। शुरू करने का सबसे अच्छा तरीका Spring Initializr का उपयोग करना है।

विकल्प 1: Spring Initializr (अनुशंसित)

  1. start.spring.io पर जाएं
  2. चुनें: Project (Maven), Language (Java), Spring Boot (नवीनतम स्थिर संस्करण)
  3. मेटाडेटा भरें: Group (जैसे, com.example), Artifact (जैसे, demo)
  4. डिपेंडेंसी जोड़ें: Spring Web, Spring Data JPA, H2 Database (उदाहरण के लिए)
  5. "Generate" बटन दबाएं — तैयार प्रोजेक्ट के साथ एक ZIP आर्काइव डाउनलोड होगा
  6. इसे अनज़िप करें और IDE (IntelliJ IDEA, Eclipse, VS Code) में खोलें

विकल्प 2: Maven (मैन्युअल सेटअप)

pom.xml में निम्नलिखित कोड जोड़ें:

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>3.2.0</version>
    <relativePath/>
</parent>

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
</dependencies>

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>

विकल्प 3: Gradle

plugins {
    id 'java'
    id 'org.springframework.boot' version '3.2.0'
    id 'io.spring.dependency-management' version '1.1.4'
}

group = 'com.example'
version = '0.0.1-SNAPSHOT'

repositories {
    mavenCentral()
}

dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-web'
}

त्वरित शुरुआत: Spring Boot पर Hello World

चलिए एक सरल REST एप्लिकेशन बनाते हैं जो "Hello, PythonLib!" लौटाता है।

चरण 1: मुख्य एप्लिकेशन क्लास

package com.example.demo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class DemoApplication {
    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }
}

चरण 2: REST कंट्रोलर

package com.example.demo;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class HelloController {

    @GetMapping("/hello")
    public String sayHello() {
        return "Hello, PythonLib!";
    }
}

चरण 3: एप्लिकेशन चलाएं

अपनी IDE में DemoApplication.java पर राइट-क्लिक करें और "Run" चुनें। या कमांड लाइन से:

mvn spring-boot:run

अपना ब्राउज़र खोलें और http://localhost:8080/hello पर जाएं। आपको "Hello, PythonLib!" दिखाई देगा।

Spring Boot के मुख्य मेथड्स और एनोटेशन

Spring Boot में कई महत्वपूर्ण एनोटेशन और मेथड्स हैं जो डेवलपमेंट को आसान बनाते हैं:

@SpringBootApplication

यह मुख्य एनोटेशन है जो तीन एनोटेशन को जोड़ता है: @Configuration, @EnableAutoConfiguration, और @ComponentScan। यह आपके एप्लिकेशन के लिए ऑटोकॉन्फ़िगरेशन और कंपोनेंट स्कैनिंग को सक्षम करता है।

@RestController

यह @Controller और @ResponseBody को जोड़ता है। इसका उपयोग RESTful वेब सर्विसेज बनाने के लिए किया जाता है जो JSON या XML डेटा लौटाती हैं।

@GetMapping, @PostMapping, @PutMapping, @DeleteMapping

ये HTTP मेथड्स को मैप करने के लिए शॉर्टकट एनोटेशन हैं। उदाहरण:

@GetMapping("/users")
public List<User> getAllUsers() { ... }

@PostMapping("/users")
public User createUser(@RequestBody User user) { ... }

@Autowired

यह डिपेंडेंसी इंजेक्शन के लिए उपयोग किया जाता है। Spring स्वचालित रूप से आवश्यक बीन्स को इंजेक्ट करता है।

@Entity और @Table

JPA एंटिटी को परिभाषित करने के लिए:

@Entity
@Table(name = "users")
public class User {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
    private String name;
    private String email;
    // getters and setters
}

Spring Boot के फायदे

  • तेज़ डेवलपमेंट: कम कोड लिखना पड़ता है, ज्यादातर काम ऑटोमेटेड होता है
  • बड़ा कम्युनिटी सपोर्ट: लाखों डेवलपर और ढेरों ट्यूटोरियल उपलब्ध
  • माइक्रोसर्विसेज के लिए आदर्श: हल्का, स्वतंत्र और आसानी से डिप्लॉय करने योग्य
  • एंटरप्राइज-ग्रेड: सुरक्षा, लॉगिंग, मॉनिटरिंग जैसी सुविधाएं बिल्ट-इन
  • क्लाउड-रेडी: AWS, Azure, GCP जैसे क्लाउड प्लेटफॉर्म पर आसानी से चलता है

निष्कर्ष

Spring Boot आज के Java डेवलपर के लिए एक ज़रूरी टूल है। चाहे आप REST API बना रहे हों, माइक्रोसर्विसेज डिज़ाइन कर रहे हों, या एंटरप्राइज एप्लिकेशन डेवलप कर रहे हों, Spring Boot आपका समय और मेहनत बचाता है। PythonLib पर और भी उन्नत ट्यूटोरियल्स के लिए जुड़े रहें!

अनुशंसाएँ