Skip to content

didos36/jmolecules-integrations

 
 

Repository files navigation

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.

Examples

  • jmolecules-examples — A collection of examples to showcase the usage of the concept types and annotations as well as the technology integration.

About

Technology integration for jMolecules

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 100.0%