beginnerProperties, Profiles & Starters

What is a Spring Boot 'starter', and why does adding one dependency configure so much automatically?

A starter (e.g. `spring-boot-starter-data-jpa`) is just a Maven/Gradle dependency descriptor that transitively pulls in every library that feature area needs (Hibernate, the JPA API, a connection pool) plus nothing else — it doesn't contain code itself. The 'automatic' part comes from auto-configuration reacting to those libraries now being on the classpath, not from the starter doing anything special.

Ready to master this question?

Generate a complete walkthrough — background, the full answer in plain language, a working code example explained line by line, a real-world scenario, common mistakes, and how this same question gets asked in different ways.

Sign in to generate a response

Next Step

Continue to What's the difference between `@RequestBody` and `@RequestParam`?← Back to all Spring Boot questions