This is a simple example of Hexagonal Architecture with Spring boot.
- Java 17
- Spring boot 3.1.5
- Gradle 7.2
- Spring Data JPA
- Querydsl
- H2 Database
graph LR
cliet[Client] --> controller[Controller]
controller --> usecase[UseCase - Port]
usecase --> service[Service]
service --> command[Command - Port]
service --> query[Query - Port]
command --> persistence[Persistence]
query --> persistence[Persistence]
persistence --> repository[Repository - Port]
repository --> infra[Infrastructure]
$ ./gradlew bootRun