Modular Applications with Spring
summary
Argues that proper modularity is about hidden internals, clear contracts and measurable cohesion, not rearranged buzzwords, and cites typical codebases where 90–95% public classes betray information hiding. Recommends Domain-Driven Design (bounded contexts, aggregates) and the TDD Starter modeling process to identify module boundaries. Shows Spring tooling: runnable jars, Docker/native image support, Spring Cloud for distributed systems, and a new R&D modulus project that maps packages to modules and provides module tests replacing broad @SpringBootTest.
AI-written summary · about
chapters (16)
- 0:00Introduction
- 3:30Modularity Basics
- 5:25Dry Principle
- 8:26Modularity
- 13:23IDE Shortcut
- 15:01Class Visibility
- 16:57Low Coupling
- 18:14Cohesion
- 20:19Cohesion Criteria
- 21:29Domain Driven Design
- 25:02Criteria
- 26:22System
- 32:06Individual Process
- 39:58Packages
- 43:49Modular Arrangement
- 45:10Modulus
related talks
50mSpring Modulith – Spring for the Architecturally Curious Developer
01h 11mSpring Modulith – Spring for the Architecturally Curious Developer
47mModular Monoliths
01h 01mBuilding Modular Monoliths using Spring Modulith
51mBuilding better monoliths – Implementing modulithic applications with Spring
03h 03mSpring Modulith – A Deep Dive (Workshop)
46mBuilding a Modular Backend Using Standard Spring Boot Features
01h 01mBetter Monoliths — Modulithic Applications with Spring Boot
