Skip to content

Latest commit

 

History

343 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Spring Boot Tutorials

Spring Boot Tutorials contains various tutorials for various Spring projects such as Spring Boot, Spring Security, Spring Data, Spring Batch, Spring Cloud, Spring Security, Spring GraphQL, and Spring Modulith. Each tutorial comes with source code in individual submodules and can be found on GitHub.

Static Badge Spring Boot version Gradle Build License - Unlicense

Motivation

These tutorials are created with testing and best practices in mind, inspired by daily work and questions from the community. The goal is to provide a reference for developers to learn and apply in their projects. I have chosen not to use mock frameworks in tests, opting instead to write integration tests with actual databases and services. This 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 with Spring Boot 4.1.1.

Documentation

All tutorials are documented in AsciiDoc format and published as an Antora site at rashidi.github.io/spring-boot-tutorials.

Tutorial Description

Spring Batch: Batch Job With REST API source

Spring Batch job that reads information from REST API

Spring Batch: Skip Specific Data

Skip processing specific data based on business logic in Spring Batch

Spring Cloud Environment Repository

Store environment properties in MySQL database with Spring Cloud Environment Repository

Spring Data Domain Events

Publish Domain Events with Spring Data

Spring Data Envers Audit

Enable with Entity Revisions using Spring Data Envers

Spring Data JDBC Audit

Enable Audit with Spring Data JDBC

Spring Data JDBC: Optimistic Locking

Implement Optimistic Locking with Spring Data JDBC using @Version

Spring Data JDBC: Generate Liquibase Changeset

Generate Liquibase changeset with Spring Data JDBC

Spring Data JPA Audit

Enable Audit with Spring Data JPA

Spring Data JPA: Event Driven

Implement Entity validation at Repository level through EventListeners

Spring Data JPA: Global Filtered Query

Implement global filtered query with Spring Data JPA by defining repositoryBaseClass

Spring Data JPA: Hibernate Second Level Caching with EhCache

Implement Hibernate second level caching using Spring Data JPA and EhCache to improve application performance

Spring Data Redis: Implementing Caching with Spring Data Redis

Implement caching with Spring Data Redis to improve application performance and compare with Hibernate second level caching

Spring Data MongoDB Audit

Enable Audit with Spring Data MongoDB

Spring Data MongoDB: Full Text Search

Implement MongoDB Full Text Search with Spring Data MongoDB

Spring Data MongoDB: Data Load with Testcontainers

Load data dynamically with Testcontainers for Spring Data MongoDB

Spring Data MongoDB: Transactional

Enable @Transactional support for Spring Data MongoDB

Spring Data Repository Definition

Customize Spring Data Repository with @RepositoryDefinition

Spring Data REST: Composite Id

Expose entities with composite ID using Spring Data REST

Spring Data REST: Custom Validation

Implement custom validation for Spring Data REST endpoints

Spring GraphQL

Getting started with Spring GraphQL

jOOQ

Typesafe SQL with jOOQ and Spring Boot

Spring Modulith

Building modular applications with Spring Modulith

Spring Modulith: Event Publication Registry

Implement resilient event publication with Spring Modulith and PostgreSQL Outbox

Spring Test: Custom TestExecutionListener

Custom TestExecutionListener to manage test lifecycle

Spring Test: REST Assured Integration

Integration testing with REST Assured

Spring Test: Slice Tests for REST Application

Implementing Slice Tests for REST application

Spring Web: Synchronous REST Clients

Implement synchronous REST client using RestClient, WebClient, and RestTemplate

Spring Web: Cross-Site Scripting (XSS) with Thymeleaf

Prevent Cross-Site Scripting (XSS) with Thymeleaf

About

Collection of Spring Boot tutorials and guides. Consists of Spring Batch, Spring Cloud, Spring Data, Spring GraphQL Server.

Topics

Resources

Stars

15 stars

Watchers

1 watching

Forks

Used by

Contributors

Languages