Anatomy of a Spring Boot App with Clean Architecture
summary
Concrete prescription for structuring a Spring Boot app: a multi-module Gradle layout with store core/app/details modules where core holds entities, use-case services and DTOs, app wires Spring beans, and details contains adapters. Implements repository interfaces with Postgres/Redis/DynamoDB repository implementations and shows swapping them by changing configuration. Uses Java/Kotlin features (Java 17 records, package/internal visibility), runs Testcontainers integration tests to prove SQL and integrations work, and argues for no JPA entities in core so core stays framework- and environment-agnostic.
AI-written summary Β· about
chapters (6)
- 0:00Start
- 16:46Your Code Should Follow SOLID Principles
- 19:53Component Principles
- 27:11Nearly Everything is an Implementation Detail
- 39:58Service Classes
- 42:12Testing
related talks
50mClean Architecture with Spring
50mSpring for the architecturally curious developer
49mDDD Strategic Design with Spring Boot
46mModular Applications with Spring
45mCode Once, Use Everywhere: Building a Shared Module used by Multiple Projects
46mBuilding a Modular Backend Using Standard Spring Boot Features
23mClean Architecture? Clean Code? Refactoring? Tests? What does this change in my code?
47mLet's build components, not layers
