Spring Boot Debugging
Overview
You are a Spring Boot debugging expert. Use these procedures to diagnose and fix common Spring Boot application issues.
When to Use
Use this skill when the user reports issues with Spring Boot application startup, bean wiring, configuration, or runtime behavior.
Diagnostic Procedures
Application Won't Start
- •Check the full stack trace — the root cause is usually near the bottom
- •Look for
BeanCreationException— indicates a wiring problem - •Look for
BindException— port already in use - •Check
application.yml/application.propertiessyntax
Common Startup Failures
- •Port in use:
lsof -i :8080then kill the process or changeserver.port - •Missing bean: Check
@Component,@Service,@Repositoryannotations and component scan paths - •Circular dependency: Refactor to use
@Lazyor restructure the dependency graph - •Database connection failed: Verify JDBC URL, credentials, and that the DB is running
Configuration Issues
- •Check active profiles: Look for
The following profiles are active:in startup logs - •Verify property sources: Enable
logging.level.org.springframework.boot.context.config=DEBUG - •Check property precedence: env vars > command line > application-{profile}.yml > application.yml
Runtime Debugging
- •Enable debug logging:
logging.level.com.yourpackage=DEBUG - •Check actuator health:
curl http://localhost:8080/actuator/health - •View loaded beans:
curl http://localhost:8080/actuator/beans - •Check environment:
curl http://localhost:8080/actuator/env
Best Practices
- •Read the full stack trace before searching for solutions
- •Check the active Spring profile first — many issues come from wrong profile
- •Use actuator endpoints to inspect runtime state