Skip to content

Latest commit

 

History

History

modulith

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 

Spring Modulith

This module demonstrates how to use Spring Modulith to build an application that combines multiple domains into a single runtime while maintaining a modular structure.

Spring Modulith allows developers to build well-structured Spring Boot applications and guides developers in finding and working with application modules driven by the domain. It supports the verification of such modular arrangements, integration testing individual modules, observing the application’s behavior on the module level and creating documentation snippets based on the arrangement created.

The example consists of two domain: Skills and Employees. Employees can have Knowledge which links them to the Skills. The dependency between the domains goes from Employee to Skill:

components
Figure 1. generated module overview diagram

Features of Spring Modulith

  • Architecture verification through tests.

  • Automatic generation of architecture diagrams and tables through tests.

  • Module-scoped integration testing.

  • In/Out-Box pattern via transactional application events, incl. publish them as external events as well.

  • "Moments" events for alternative, event-driven periodic tasks. (e.g. HourHasPassed)