Java 25 · Spring Boot 4.1.1

Spring Boot Tutorials

Practical, tested, and up-to-date samples for Spring Boot modules, from Spring Data and Spring Batch to Spring AI and Spring Modulith.

Architecture

Architecture: Hexagonal Architecture

architecture hexagonal
Read article
jOOQ

jOOQ: Implement jOOQ with Spring Boot and Gradle

jooq
Read article
Observability

Spring Boot Observability with OpenTelemetry

actuator observability opentelemetry
Read article
Spring AI

Spring AI: Vector Similarity Search with PgVector

ai pgvector
Read article
Spring AI

Spring AI: Vector Similarity Search with Redis

ai redis
Read article
Spring Batch

Spring Batch: Bulk Update with JDBC

batch jdbc bulk update
Read article
Spring Batch

Spring Batch: Working With REST Resources

batch rest repository
Read article
Spring Batch

Spring Batch: Skip Specific Data

batch skip step
Read article
Spring Cloud

Spring Cloud: JDBCEnvironmentRepository Sample Application

cloud jdbc env repo
Read article
Spring Data

Spring Data: Domain Events Example

data domain events
Read article
Spring Data

Spring Data Envers: Audit With Entity Revisions

data envers audit
Read article
Spring Data

Spring Data JDBC: Implement Auditing

data jdbc audit
Read article
Spring Data

Spring Data JDBC: Optimistic Locking with @Version

data jdbc optimistic locking
Read article
Spring Data

Spring Data JDBC: Generate Liquibase Changeset

data jdbc schema generation
Read article
Spring Data

Spring Data Jpa Audit Example

data jpa audit
Read article
Spring Data

Spring Data JPA: Perform Entity Validation at Repository Level through Event Driven

data jpa event
Read article
Spring Data

Spring Data Jpa: Global Filter Query

data jpa filtered query
Read article
Spring Data

Spring Data JPA: Hibernate Second Level Caching with EhCache

data jpa hibernate cache
Read article
Spring Data

Spring Data JPA: Keyset Pagination (Scroll API)

data jpa keyset pagination
Read article
Spring Data

Spring Data MongoDB Audit Example

data mongodb audit
Read article
Spring Data

Spring Data MongoDB: Full Text Search

data mongodb full text
Read article
Spring Data

Spring Data MongoDb with Testcontainers

data mongodb tc data
Read article
Spring Data

@Transactional with Spring Data MongoDB

data mongodb transactional
Read article
Spring Data

Spring Data Redis: Implementing Caching with Spring Data Redis

data redis cache
Read article
Spring Data

Spring Data: Repository Definition

data repository definition
Read article
Spring Data

Spring Data REST with Composite ID

data rest composite id
Read article
Spring Data

Spring Data REST: Validation

data rest validation
Read article
Spring GraphQL

GraphQL With Spring Boot

graphql
Read article
Spring JDBC

Spring JDBC: JdbcClient

jdbc client
Read article
Spring Messaging

Spring for Apache Kafka

messaging kafka
Read article
Spring Messaging

Spring AMQP: Dead Letter Queue with RabbitMQ

messaging rabbitmq dlq
Read article
Spring Modulith

Spring Modulith: Event Publication Registry with PostgreSQL

modulith events
Read article
Spring Modulith

Spring Modulith: Building Modular Monolithic Applications

modulith
Read article
Spring Test

Stubborn Contract Consumer Tutorial

test contract consumer
Read article
Spring Test

Stubborn Contract Producer Tutorial

test contract producer
Read article
Spring Test

Spring Test: Managing Test Data with TestExecutionListener

test execution listeners
Read article
Spring Test

Spring Test: Implement BDD with RestAssured

test rest assured
Read article
Spring Test

Spring Test: Slice Testing a REST Application

test slice tests rest
Read article
Spring Web

Spring Web: Problem Details for HTTP APIs

web problem details
Read article
Spring Web

Spring Web: REST Clients for calling Synchronous API

web rest client
Read article
Spring Web

Spring Web: Retry with RestClient

web rest retry
Read article
Spring Web

Preventing XSS with Spring Security and Thymeleaf

web thymeleaf xss
Read article
Spring Web

Spring Web: Virtual Threads

web virtual threads
Read article

Samples and tutorials for Spring Boot modules such as, but not limited to, Spring Data, Spring Batch, Spring Cloud, Spring Security, Spring GraphQL, and Spring Test. Each tutorial is equipped with source code in individual submodules and can be found on GitHub.

Motivation

While it is common to find Spring Boot tutorials on the Internet, it is challenging to find tutorials that are up-to-date and include automated tests to demonstrate the implementation and ensure stability.

Commitment

Continual improvement is fundamental in software development. This repository is committed in ensuring adherence to best practices and keeping all dependencies up-to-date. The quality of these tutorials and the knowledge imparted is, and always will be, my primary goal.

With the help of Dependabot, each tutorial is also kept up-to-date with the latest dependencies. Currently, we are using Java Temurin 25