Format
In Zürich, on-site at your office, or fully remote. We adapt exercises and tooling to your environment.
Make module boundaries in your Spring Boot application explicit and verifiable before distributed architecture becomes the default answer. Use Spring Modulith to define modules, test dependencies, work with domain events, generate architecture documentation, and examine incremental modernisation paths.
Two-day in-house course for up to 12 participants. Delivered in Zürich, at your office across Switzerland or Europe, or fully remote; examples and depth are aligned with your team's Spring Boot versions and architecture questions.
For CTOs and engineering managers deciding how to improve boundaries in a Spring Boot system without assuming that every boundary needs a separate service.
Dependencies cross business areas freely, ownership is unclear, or a change in one area regularly affects another.
The team needs a practical basis for comparing verifiable in-process modules with the operational cost of distributed services.
You want to introduce module tests, domain events, and architecture documentation inside an existing Spring Boot application.
The core path covers module definition, verification, module tests, documentation, and domain events. We select operational features, jMolecules, migration patterns, and event externalisation according to your architecture questions.
Understand the motivation behind moduliths and how they compare to microservices. Set up projects, define modules with package structures, named interfaces, and custom module detection, including simple, advanced, nested, and open modules.
Define dependency rules, then use architecture tests to detect violations in the build. Integrate ArchUnit to check your modular boundaries and customise verification options.
Learn the fundamentals of module testing with Spring Modulith's application module testing support. Handle dependencies, configure bootstrap modes, and use change-aware test execution.
Generate living architecture documentation automatically: Modulith diagrams in C4 and UML formats, and application module canvases that visualise your modular structure.
Communicate between modules using synchronous and asynchronous domain events. Use the event publication registry with persistence, resubmission, and completion modes. Test event-driven interactions with the Scenario API and Passage of Time Events.
Integrate into CI/CD with fitness functions. Use the ApplicationModuleInitializer, Modulith actuator endpoints, observability with Micrometer and OpenTelemetry, module-specific Flyway migrations, and configurable Modulith properties.
Make DDD concepts explicit with jMolecules: aggregates, entities, value objects, domain events, repositories, and module annotations. Integrate into Modulith documentation, canvas, and ArchUnit rules.
Migrate legacy applications to a Modulith step by step. Design hybrid architectures combining moduliths and microservices. Externalise events via Kafka, AMQP, JMS, and Spring Messaging.
This training is designed for developers, architects, and teams who want to build or modernise Spring Boot applications with a clearly modular structure.
Software developers who work with Spring Boot and want to structure their applications in a clearly modular way, with clear boundaries, testable modules, and automated architecture checks.
Software architects who want to examine microservices critically or decide deliberately which boundaries belong in-process and which justify distributed services.
Teams that want to modernise existing monoliths and gradually convert them into modular systems, step by step, without a risky big-bang rewrite.
All sessions are hands-on with real code exercises using an example application. We tailor content and pace to your team's experience level.
In Zürich, on-site at your office, or fully remote. We adapt exercises and tooling to your environment.
2 days. For in-house delivery, we adapt the agenda and can split it into focused modules.
Delivered in English or German. Italian available on request.
Spring Boot experience. Familiarity with domain-driven design concepts is helpful but not required.
In Zürich, at your office anywhere in Switzerland or Europe, or fully remote.
Yes. We deliver the training in English or German – Italian is available on request. Course materials are in English.
2 days. For in-house courses we adapt the content individually and can split it into focused modules.
No. Familiarity with DDD concepts is helpful but not required – we introduce the relevant ideas such as bounded contexts and domain events as part of the training.
We deliver in-house, for up to 12 participants. The final price depends on group size, duration, and how much we tailor the content. Book a 30-minute call or email hello@42talents.com. We reply personally to emails within one business day.
Explore the other courses in our Spring training curriculum.
Build a practical foundation in the Spring Framework: IoC container, dependency injection, AOP, data access, and Spring MVC.
Build LLM-backed applications with RAG pipelines, tool integration, and agentic workflows.
Tune startup time, reduce memory footprint, and compile to GraalVM native images.
Tell us which capability your team needs to build. We'll shape the course around your stack, delivery goals, and current codebase.
In-house, up to 12 participants. Content tailored to your codebase and your stack.