Skip to content

A Spring Boot application structured with hexagonal architecture backed by the Spring Modulith library for modular design and enforcement, implemented as a single Gradle project

Notifications You must be signed in to change notification settings

webcane/hello-spring-boot-modulith-hexagonal

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Hello Coffeeshop

A Spring Boot application structured with hexagonal architecture backed by the Spring Modulith library for modular design and enforcement, implemented as a single Gradle project The idea was inspired by a blog post and addresses some practical challenges that are often overlooked in similar examples.

Gradle Build

package-info.java files managed by Spring Modulith define allowed dependencies. For example, the persistence outbound adapter may only access shared domain classes and related order ports:

@ApplicationModule(allowedDependencies = {"architecture", "domain", "order"})

This means it does not have access to classes from the rest inbound adapter.

About

A Spring Boot application structured with hexagonal architecture backed by the Spring Modulith library for modular design and enforcement, implemented as a single Gradle project

Resources

Stars

Watchers

Forks

Languages