Spring Boot starters are curated dependency bundles that give you a single artifact to add to your build instead of hunting down compatible individual libraries. Each starter pulls in the Spring modules, third-party libraries, and auto-configuration wiring needed for a particular technology, so yourDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/spring-projects/spring-boot/llms.txt
Use this file to discover all available pages before exploring further.
pom.xml or build.gradle stays concise and your dependency versions stay consistent.
How starters work
A starter is a regular Maven/Gradle artifact whose only job is to declareapi (or compile) dependencies on the libraries that belong together. When you add a starter, Gradle or Maven resolves the full transitive dependency graph for you. Spring Boot’s auto-configuration mechanism (spring-boot-autoconfigure) detects which libraries are on the classpath and configures them automatically — no XML, no boilerplate @Bean methods required.
Starters do not contain application code. They are pure dependency descriptors. All configuration logic lives inside
spring-boot-autoconfigure, which every starter inherits transitively through spring-boot-starter (the base starter).The base starter
spring-boot-starter is the foundation every other starter builds on. Add it on its own if you only need the core auto-configuration infrastructure without a web server or other technology.
spring-boot-autoconfigure— the auto-configuration enginespring-boot-starter-logging— Logback via SLF4J (switchable to Log4j 2)jakarta.annotation-api— common Jakarta EE annotationssnakeyaml— YAML support forapplication.yml
Naming convention
Official Spring Boot starters follow a strict naming pattern:spring-boot-starter-web, spring-boot-starter-data-jpa, spring-boot-starter-security.
Production and test starters
Two starters sit outside the main technology categories but are used in almost every project:spring-boot-starter-actuator
Adds Spring Boot Actuator: health checks, metrics, info endpoints, and Micrometer instrumentation. Include this in every production deployment.
spring-boot-starter-test
Bundles JUnit Jupiter, Mockito, AssertJ, Hamcrest, JSONPath, and Spring Test. Scope it to
test so it never reaches your production artifact.Starter categories
Browse the pages below to find the right starter for your use case.Web starters
Spring MVC, WebFlux, WebSocket, GraphQL, HATEOAS, template engines, and bean validation.
Data starters
JPA, JDBC, MongoDB, Redis, Elasticsearch, R2DBC, Neo4j, Cassandra, jOOQ, and Spring Batch.
Messaging starters
RabbitMQ (AMQP), Apache Kafka, Apache Pulsar, JMS, ActiveMQ, Artemis, Spring Integration, and RSocket.
Security starters
Spring Security, OAuth 2.0 client and resource server, Authorization Server, and SAML 2.0.
Version management
When you use the Spring Boot parent POM or the Spring Boot BOM (spring-boot-dependencies), you do not need to declare a version for any starter. The BOM manages a tested, compatible set of versions for you.