~/talk

Anatomy of a Spring Boot App with Clean Architecture

Talkat Spring I/O 2023 Β· 2023-05-18..05-19Β· [software-architecture]
github:spember
slides:none on file

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

  1. 0:00Start
  2. 16:46Your Code Should Follow SOLID Principles
  3. 19:53Component Principles
  4. 27:11Nearly Everything is an Implementation Detail
  5. 39:58Service Classes
  6. 42:12Testing
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark β€” the status bar button does the same
?
this help
esc
close this, then clear every filter β€” or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.