🏗️
Basics

Spring Initializr & Project Setup

start.spring.io Deep Dive
💡 Spring Initializr ek CUSTOM PIZZA ORDER SCREEN hai — BASE (Java version) choose karo, TOPPINGS (dependencies — Web, JPA, Security) choose karo, aur EK CLICK mein, PURA READY-TO-BAKE (ready-to-run) project mil jaata hai.

start.spring.io ek WEB TOOL hai jo Spring Boot project SCAFFOLDING GENERATE karta hai — Project TYPE (Maven/Gradle), Language (Java/Kotlin/Groovy), Spring Boot VERSION, Project METADATA (group, artifact, package name), aur DEPENDENCIES (checkboxes se select karo — Web, JPA, Security, Actuator waghera).

Generate karте hi, EK ZIP file milती hai — jisme COMPLETE folder structure, pom.xml/build.gradle (dependencies ke saath), MAIN application class, aur EK TEST class READY hoti hai. Ye MANUAL project setup ke GHANTON ko SECONDS mein CONVERT kar deta hai.

# CLI se bhi generate ho sakta hai (curl):
curl https://start.spring.io/starter.zip \
  -d dependencies=web,data-jpa,postgresql \
  -d javaVersion=17 \
  -d bootVersion=3.2.0 \
  -d groupId=com.example \
  -d artifactId=bookstore \
  -o bookstore.zip

unzip bookstore.zip -d bookstore/
cd bookstore && ./mvnw spring-boot:run
🏗️
Spring Initializr ek CUSTOM PIZZA ORDER SCREEN hai — BASE (Java version) choose karo, TOPPINGS (dependencies — Web, JPA, Security) choose karo, aur EK CLICK mein, PURA READY-TO-BAKE (ready-to-run) project mil jaata hai.
1 / 2
⚡ Quick Recap
  • start.spring.io — GUI se project scaffolding generate karta hai
  • Dependencies checkboxes se select — starters automatically add hote hain
  • ZIP file mein COMPLETE, ready-to-run project structure milती hai
Is page mein (2 subtopics)

Maven (XML-based, pom.xml) INDUSTRY STANDARD hai — VERBOSE lekin PREDICTABLE, WIDELY documented. Gradle (Groovy/Kotlin DSL, build.gradle) MORE FLEXIBLE aur FASTER builds deता hai (incremental compilation), lekin LEARNING CURVE thoda STEEP hai. NAYE projects mein, DONO COMMON hain — team preference decide karta hai.

  • Maven = XML-based, industry standard, verbose but predictable
  • Gradle = Groovy/Kotlin DSL, faster builds, steeper learning curve
  • Spring Initializr DONO SUPPORT karta hai

Spring Initializr se generated projects mein mvnw (Maven Wrapper) ya gradlew (Gradle Wrapper) scripts INCLUDED hote hain — ye ENSURE karte hain ki HAR developer, aur CI/CD pipeline, EXACT SAME Maven/Gradle VERSION use kare, bina MANUALLY install kiye.

# Maven wrapper se run karna (Maven install kiye BINA):
./mvnw spring-boot:run

# Gradle wrapper se:
./gradlew bootRun