🔧
Basics

Spring Boot DevTools

Fast Development Loop
💡 DevTools ek AUTO-REFRESH BUTTON hai jo KHUD-BA-KHUD DABTA hai — normally, code change karने ke BAAD manually application RESTART karna padta hai (5-10 seconds). DevTools ye PROCESS AUTOMATE karta hai — save karте hi, application AUTOMATICALLY, FAST restart ho jaati hai.

spring-boot-devtools ek DEVELOPMENT-TIME dependency hai — LIVE RELOAD provide karta hai. Jab bhi CLASSPATH par KOI FILE CHANGE hoti hai (Java class recompile hoti hai), DevTools APPLICATION ko AUTOMATICALLY, aur FAST, RESTART kar deta hai — MANUAL stop-start cycle ki zaroorat NAHI.

Restart FAST hota hai kyunki DevTools DO SEPARATE CLASSLOADERS use karta hai — EK "base" classloader (libraries ke liye, jo CHANGE nahi hoti) aur EK "restart" classloader (tumhare APNE code ke liye, jo BAAR-BAAR change hoti hai). Sirf RESTART classloader RELOAD hota hai, isliye FULL restart se BAHUT FASTER hai.

<!-- pom.xml — sirf DEVELOPMENT ke liye, production build mein EXCLUDE ho jaata hai: -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-devtools</artifactId>
    <optional>true</optional>
</dependency>

<!-- application.properties (optional customization): -->
<!-- spring.devtools.restart.enabled=true -->
<!-- spring.devtools.livereload.enabled=true  -- browser bhi auto-refresh ho -->
🔧
DevTools ek AUTO-REFRESH BUTTON hai jo KHUD-BA-KHUD DABTA hai — normally, code change karने ke BAAD manually application RESTART karna padta hai (5-10 seconds). DevTools ye PROCESS AUTOMATE karta hai — save karте hi, application AUTOMATICALLY, FAST restart ho jaati hai.
1 / 2
⚡ Quick Recap
  • Code change → automatic, FAST restart (manual stop-start ki zaroorat NAHI)
  • Do classloaders (base + restart) — sirf changed code reload hota hai, FAST
  • Production mein AUTOMATICALLY disabled — sirf development ke liye
On this page (2 subtopics)

spring-boot-maven-plugin AUTOMATICALLY DevTools ko FINAL, PACKAGED JAR se EXCLUDE kar deta hai (agar <optional>true</optional> set hai pom.xml mein) — production build mein DevTools ka koi TRACE NAHI hota, koi manual step nahi chahiye.

💡Tip: Agar DevTools GALTI SE production mein CHALA jaaye, ye SECURITY RISK ban sakta hai (kuch DevTools endpoints DEBUGGING info EXPOSE karte hain) — <optional>true</optional> tag ENSURE karta hai ye NA ho.

DevTools REMOTE applications (jaise EK cloud server par RUNNING app) ke saath bhi kaam kar sakta hai — SPECIAL configuration se, LOCAL machine se CHANGES REMOTE server par bhi TRIGGER ki ja sakti hain. PRACTICALLY, ye RARELY use hota hai — ZYAADATAR LOCAL development ke liye hi DevTools relevant hai.

  • Remote debugging POSSIBLE hai, lekin RARELY practical use mein
  • Local development LOOP hi DevTools ka PRIMARY use-case hai