It Takes Two to Tango – Designing Module Interactions in Modulithic Spring Applications

According to Russell Ackoff “A system is not the sum of the behaviors of its parts, but the product of their interactions”. That’s why the design of those interactions is of the uttermost importance. In a Spring application, the primary means to establish relationships between application components is dependency injection (DI). With higher-level structuring approaches like Spring Modulith’s application modules in place, should the interaction of those be implemented by DI as well? The talk presents different approaches to designing application module interactions and compares them regarding their applicability, effect on testability, consistency, error scenarios and how they affect the modularity of the system overall.

Spec-driven Development: How AI Changed Everything (And Nothing)
▶︎

Spec-driven Development: How AI Changed Everything (And Nothing)

Crafting a self-documenting Modular Monolith with DDD principles (theory not included) @ Spring I/O
▶︎

Crafting a self-documenting Modular Monolith with DDD principles (theory not included) @ Spring I/O

Implementing Domain Driven Design with Spring by Maciej Walkowiak @ Spring I/O 2024
▶︎

Implementing Domain Driven Design with Spring by Maciej Walkowiak @ Spring I/O 2024

Spring Modulith – Spring for the Architecturally Curious Developer by Oliver Drotbohm
▶︎

Spring Modulith – Spring for the Architecturally Curious Developer by Oliver Drotbohm

Every Frontend Architecture Pattern Explained in 23 Minutes
▶︎

Every Frontend Architecture Pattern Explained in 23 Minutes

Spring Tips: Spring Modulith
▶︎

Spring Tips: Spring Modulith

Getting modules right with Domain-driven Design by Michael Plöd @ Spring I/O 2022
▶︎

Getting modules right with Domain-driven Design by Michael Plöd @ Spring I/O 2022

System Design Explained: APIs, Databases, Caching, CDNs, Load Balancing & Production Infra
▶︎

System Design Explained: APIs, Databases, Caching, CDNs, Load Balancing & Production Infra

Java Modernization: Breathe New Life into Your Codebase Without Breaking the Bank
▶︎

Java Modernization: Breathe New Life into Your Codebase Without Breaking the Bank

Domain-centric? Why Hexagonal- and Onion-Architecture are answers to the wrong question
▶︎

Domain-centric? Why Hexagonal- and Onion-Architecture are answers to the wrong question

Future-Proofing Java: The Art of Crafting Resilient APIs
▶︎

Future-Proofing Java: The Art of Crafting Resilient APIs

Turing Award Winner: Disagreeing with Google, Postgres, Future Problems | Mike Stonebraker
▶︎

Turing Award Winner: Disagreeing with Google, Postgres, Future Problems | Mike Stonebraker

Spring Modulith – A Deep Dive (Workshop)
▶︎

Spring Modulith – A Deep Dive (Workshop)

Introduction to Spring Modulith - Modular Monoliths in Spring Boot
▶︎

Introduction to Spring Modulith - Modular Monoliths in Spring Boot

How Instagram Scaled Postgres to 2 Billion Users
▶︎

How Instagram Scaled Postgres to 2 Billion Users

Spring Modulith Explained! 🔥 Smarter Than Microservices? | Real-Time App Walkthrough
▶︎

Spring Modulith Explained! 🔥 Smarter Than Microservices? | Real-Time App Walkthrough

The Modern Monolith, with Spring Modulith by Cora Iberkleid @ Spring I/O 2024
▶︎

The Modern Monolith, with Spring Modulith by Cora Iberkleid @ Spring I/O 2024

Dependency Injection & Inversion of Control in Spring Tutorial #DI #IOC #Spring #SpringBoot #Java
▶︎

Dependency Injection & Inversion of Control in Spring Tutorial #DI #IOC #Spring #SpringBoot #Java

Deep Dive : Bootiful Spring Boot 3.x by Josh Long
▶︎

Deep Dive : Bootiful Spring Boot 3.x by Josh Long

Keynote: After the AI Hype – What’s Real, and What’s Next - Richard Campbell - 2026
▶︎

Keynote: After the AI Hype – What’s Real, and What’s Next - Richard Campbell - 2026