Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.

jMolecules — Technology integrations

This repository contains a variety of integrations of jMolecules abstractions into different technologies.

Supported technologies

  • jmolecules-archunit — ArchUnit rules that verify the aggregate structures in your model.

  • jmolecules-bytebuddy — A ByteBuddy plugin to translate jMolecules patterns implemented in jmolecules-ddd into different technologies. See the example for details.

    • Spring — translates jMolecules annotations like @Service etc. into the Spring equivalents so that the annotated classes can be used out of the box with Spring.

    • JPA — translates jmolecules-ddd annotations and interfaces into default mapping annotations and boilerplate code required by JPA.

  • jmolecules-spring — Runtime library to make concepts from jmolecules-ddd work with Spring out of the box.

    • Converter implementations that convert primitives (String, UUID) into Identifier implementations if they expose a static factory method of(…) and back into their inner value by calling the corresponding getter.

    • Spring Boot auto-configuration to transparently register those converters in Spring MVC applications.

    • AssociationResolver<T> to be used with Spring Data repositories to easily resolve Association instances.

  • jmolecules-jackson — Runtime library to make concepts from jmolecules-ddd work with Jackson out of the box.

    • A Jackson module to tweak the serialization of single attribute @ValueObject and Identifier instances to (de)serializes (from) as their wrapped instances.

    • Spring Boot auto-configuration to transparently register the module with Jackson in Spring Boot applications.

Developer information

Release instructions

  • mvn release:prepare \ -DreleaseVersion="$version" \ -DdevelopmentVersion="$versionNext" \ -DscmReleaseCommitComment="$ticketId - Release version $version." \ -DscmDevelopmentCommitComment="$ticketId - Prepare next development iteration." \ -Dtag="$version"

  • mvn release:perform


Technology integration for jMolecules







No packages published

Contributors 4