Spring Boot data starters give you pre-configured access to relational databases, document stores, key-value caches, graph databases, search engines, and batch processing frameworks. Each starter combines the Spring Data or Spring Framework integration module with the required client library and auto-configuration, so your application connects and runs with only a few properties inDocumentation 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.
application.properties.
Relational database starters
spring-boot-starter-jdbc
spring-boot-starter-jdbc
Plain JDBC access using You must also add a JDBC driver for your database:When to use: When you want full SQL control without an ORM, or when you need maximum query transparency and minimal overhead.
JdbcTemplate with HikariCP as the connection pool. This is the lowest-level relational starter — no ORM, no query DSL, just SQL.Includes: spring-boot-starter · spring-boot-jdbc · HikariCPMaven — H2 driver (example)
spring-boot-starter-data-jdbc
spring-boot-starter-data-jdbc
Spring Data JDBC: a lightweight ORM alternative that maps entities to tables without lazy loading, caching, or a session concept.Includes: When to use: When you want repository abstractions (
spring-boot-starter · spring-boot-starter-jdbc · spring-boot-data-jdbc · spring-boot-jdbcCrudRepository, ListCrudRepository) over a relational database but prefer simpler, aggregate-based persistence without JPA’s full complexity.spring-boot-starter-data-jpa
spring-boot-starter-data-jpa
Full JPA with Hibernate: the most feature-rich relational starter, supporting entity relationships, JPQL, the criteria API, first-level cache, and lazy loading.Includes: A minimal JPA entity and repository:When to use: Domain models with complex relationships (one-to-many, many-to-many), when you want derived query methods, or when migrating from an existing Hibernate application.
spring-boot-starter · spring-boot-starter-jdbc · spring-boot-data-jpa · spring-boot-jdbcspring-boot-starter-jooq
spring-boot-starter-jooq
Type-safe SQL using the jOOQ DSL, which generates Java classes from your schema so your queries are checked at compile time.Includes: When to use: Complex SQL queries where you want compile-time safety but not an ORM. Works well alongside Spring Data repositories for simpler reads.
spring-boot-starter · spring-boot-starter-jdbc · spring-boot-jooq · spring-boot-jdbcReactive relational starter
spring-boot-starter-data-r2dbc
Non-blocking relational database access using R2DBC (Reactive Relational Database Connectivity) and Spring Data R2DBC. Includes:spring-boot-starter · spring-boot-data-r2dbc · spring-boot-r2dbc · spring-boot-reactor
Gradle — PostgreSQL R2DBC driver
R2DBC is not a drop-in replacement for JPA. It does not support entity relationships or lazy loading. Model your domain around Spring Data R2DBC’s simpler aggregate-based conventions.
Document store starters
spring-boot-starter-data-mongodb
MongoDB via Spring Data MongoDB (synchronous). Auto-configures
MongoClient and MongoTemplate.spring-boot-starter-data-cassandra
Apache Cassandra via Spring Data Cassandra. Auto-configures
CqlSession and CassandraTemplate.spring-boot-starter-data-mongodb
spring-boot-starter-data-mongodb
MongoDB document database with Spring Data MongoDB repositories and Configure the connection in When to use: Flexible document schemas, embedded arrays and objects, or when you need MongoDB’s aggregation pipeline.
MongoTemplate.Includes: spring-boot-starter-mongodb · spring-boot-data-mongodbapplication.properties:application.properties
spring-boot-starter-data-cassandra
spring-boot-starter-data-cassandra
Apache Cassandra distributed database with Spring Data Cassandra.Includes: When to use: High-write, time-series, or IoT workloads requiring linear horizontal scalability and no single point of failure.
spring-boot-starter · spring-boot-cassandra · spring-boot-data-cassandraapplication.properties
Key-value and cache starters
spring-boot-starter-data-redis
Redis key-value store with Spring Data Redis using the Lettuce client (async, thread-safe). Includes:spring-boot-starter · spring-boot-data-redis · spring-messaging
application.properties
@Cacheable), pub/sub messaging, rate limiting, or Lua-scripted atomic operations.
Search and analytics starters
spring-boot-starter-data-elasticsearch
Elasticsearch full-text search and analytics with Spring Data Elasticsearch. Includes:spring-boot-starter · spring-boot-data-elasticsearch · spring-boot-elasticsearch · spring-boot-starter-jackson (runtime)
application.properties
Graph database starters
spring-boot-starter-data-neo4j
Neo4j graph database with Spring Data Neo4j. Includes:spring-boot-starter · spring-boot-data-neo4j · spring-boot-neo4j
application.properties
Batch processing starter
spring-boot-starter-batch
Spring Batch: enterprise-grade batch processing with jobs, steps, readers, processors, and writers. Includes:spring-boot-starter · spring-boot-batch
Gradle — batch with H2 for dev
Choosing a data starter
Plain SQL + full control
spring-boot-starter-jdbcSQL with repository pattern
spring-boot-starter-data-jpaSQL, type-safe DSL
spring-boot-starter-jooqReactive SQL
spring-boot-starter-data-r2dbcDocument store
spring-boot-starter-data-mongodbKey-value / cache
spring-boot-starter-data-redis