For further reference, please consider the following sections:
- Official Apache Maven documentation
- Spring Boot Maven Plugin Reference Guide
- Create an OCI image
- Spring Boot DevTools
- Spring Configuration Processor
- Docker Compose Support
- Spring Modulith
- Spring Web
- Spring Session
- Thymeleaf
- OAuth2 Client
- JDBC API
- Spring Data JPA
- Spring Data JDBC
- Flyway Migration
- Spring Data Redis (Access+Driver)
- Spring Batch
- Validation
- Java Mail Sender
- Quartz Scheduler
- Spring Cache Abstraction
- Prometheus
The following guides illustrate how to use some features concretely:
- Building a RESTful Web Service
- Serving Web Content with Spring MVC
- Building REST services with Spring
- Handling Form Submission
- Accessing Relational Data using JDBC with Spring
- Managing Transactions
- Accessing Data with JPA
- Using Spring Data JDBC
- Messaging with Redis
- Creating a Batch Service
- Validation
- Caching Data with Spring
This project contains a Docker Compose file named compose.yaml
.
In this file, the following services have been defined:
- postgres:
postgres:latest
- redis:
redis:latest
Please review the tags of the used images and set them to the same as you're running in production.
Due to Maven's design, elements are inherited from the parent POM to the project POM.
While most of the inheritance is fine, it also inherits unwanted elements like <license>
and <developers>
from the parent.
To prevent this, the project POM contains empty overrides for these elements.
If you manually switch to a different parent and actually want the inheritance, you need to remove those overrides.