Building better monoliths – Implementing modulithic applications with Spring
summary
A library called Moduliths uses package-by-component structure and an @Modulith annotation to map bounded contexts to Java packages, adds @ModuleTest to bootstrap only selected modules for fast integration tests, and generates PlantUML diagrams from the actual dependency graph. It flags architectural issues (it detects cycles such as an orders↔inventory loop), encourages using Spring application events to replace cross-module component calls, and the demo runs and verifies these checks in real student e‑commerce code.
AI-written summary · about
chapters (20)
- 0:00Intro
- 1:43Summary
- 3:51Benefits
- 5:49Downsides
- 11:40Modulus
- 12:32Mapping logical modules
- 14:07Annotations
- 15:09Package structure
- 16:56Module bootstrap
- 18:42Catalog integration
- 21:35Architectural violation
- 27:10Breaking the dependency cycle
- 29:17Module dependencies
- 30:48Testing in isolation
- 39:43Module diagrams
- 42:28Context
- 42:40Multiple artifacts
- 45:05Java modules
- 46:49External tools
- 49:29Project website
related talks
01h 01mBuilding Modular Monoliths using Spring Modulith
01h 11mSpring Modulith – Spring for the Architecturally Curious Developer
50mSpring Modulith – Spring for the Architecturally Curious Developer
01h 01mBetter Monoliths — Modulithic Applications with Spring Boot
03h 03mSpring Modulith – A Deep Dive (Workshop)
50mSpring for the architecturally curious developer
46mFrom Chaos to Cohesion: Building Modular Monoliths in the Real World
47mModular Monoliths
