Spring Initializr & Project Setup
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- 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
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