Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/rashidi/spring-boot-tutorials

Collection of Spring Boot tutorials and guides. Consists of Spring Batch, Spring Cloud, Spring Data, Spring GraphQL Server.
https://github.com/rashidi/spring-boot-tutorials

graphql-server jooq langchain sample-code spring-batch spring-boot spring-boot-tutorial spring-cloud spring-data-jpa spring-data-mongodb testcontainers tutorial

Last synced: 2 days ago
JSON representation

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

Awesome Lists containing this project

README

        

= Spring Boot: Samples & Tutorials
:nofooter:
:icons: font
:url-quickref: https://github.com/rashidi/spring-boot-tutorials
:uri-build-status: https://github.com/rashidi/spring-boot-tutorials/actions/workflows/gradle.yml
:img-build-status: https://github.com/rashidi/spring-boot-tutorials/actions/workflows/gradle.yml/badge.svg

Samples and tutorials for https://spring.io/projects/spring-boot[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 {url-quickref}[GitHub].

image:{img-build-status}[Build Status Badge,link={uri-build-status}]

== Motivation

While it is common to find https://spring.io/projects/spring-boot[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 https://github.com/dependabot[Dependabot], each tutorial is also kept up-to-date with the latest
dependencies. Currently, we are using Java https://adoptium.net/en-GB/temurin/releases/?version=21[Temurin 21]
with https://plugins.gradle.org/plugin/org.springframework.boot/3.3.0[Spring Boot 3.3.0].

== Topics

|===
|Topic |Description

|link:batch-rest-repository[Spring Batch: Batch Job With REST API source] |Spring Batch job that reads information from REST API
|link:batch-skip-step[Spring Batch: Skip Specific Data] |Skip processing specific data based on business logic in Spring Batch
|link:cloud-jdbc-env-repo[Spring Cloud Environment Repository] |Store environment properties in MySQL database with Spring Cloud Environment Repository
|link:data-domain-events[Spring Data Domain Events] |Publish Domain Events with Spring Data
|link:data-envers-audit[Spring Data Envers Audit] |Enable with Entity Revisions using Spring Data Envers
|link:data-jpa-audit[Spring Data JPA Audit] |Enable Audit with Spring Data JPA
|link:data-jpa-filtered-query[Spring Data JPA: Global Filtered Query] |Implement global filtered query with Spring Data JPA by defining `repositoryBaseClass`
|link:data-mongodb-audit[Spring Data MongoDB Audit] |Enable Audit with Spring Data MongoDB
|link:data-mongodb-full-text-search[Spring Data MongoDB: Full Text Search] |Implement link:https://docs.mongodb.com/manual/text-search/[MongoDB Full Text Search] with Spring Data MongoDB
|link:data-mongodb-transactional[Spring Data MongoDB: Transactional] |Enable `@Transactional` support for Spring Data MongoDB
|link:data-rest-validation[Spring Data REST: Validation] |Perform validation with Spring Data REST
|link:graphql[Spring GraphQL Server] |Implement GraphQL server with Spring GraphQL Server
|link:jooq[jOOQ] | Implement an alternative to Jpa using https://www.jooq.org/[jOOQ] and Gradle
|link:langchain4j[LangChain4J] | Implement a Historian powered by OpenAI using https://github.com/langchain4j[LangChain4J]
|link:data-mongodb-tc-data-load[Spring Test: Load data with Testcontainers] |Load test data with Testcontainers instead of `BeforeEach`
|link:test-execution-listeners[Spring Test: Test Execution Listeners] |Implement custom `TestExecutionListener` to manage data in tests
|link:test-rest-assured[Spring Test: Integration with RestAssured] | Implement Behaviour Driven Development with https://rest-assured.io/[RestAssured]
|===