awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
mapstruct avatar

mapstruct/mapstruct

0
View on GitHub↗
7,663 stars·1,029 forks·Java·14 viewsmapstruct.org↗

Mapstruct

MapStruct is an annotation processor and Java bean mapping framework that automatically generates high-performance data transfer code during the compilation process. It serves as a type-safe data mapper for converting information between different object types, specifically targeting Java beans and records.

The project replaces manual boilerplate code by using Java interfaces as blueprints to generate concrete implementation classes. This approach ensures type safety and minimizes manual getter and setter calls by producing direct method calls during compilation.

The framework handles data transformation across built-in types and includes automated null safety checks. It analyzes nullness annotations to insert guards and assign default values when transferring data between API models and internal entities.

Features

  • Type-Safe Mapper Generators - Creates mapping code between bean types and records at compile time to ensure type safety.
  • Annotation Processing Tooling - Integrates with the Java Annotation Processing Tool to produce implementation classes during the build lifecycle.
  • Java Annotation Processors - Implements a Java annotation processor to generate mapping code during the compilation process.
  • Compile-Time Field Mapping - Resolves field-to-field mapping and type conversions during compilation to avoid runtime reflection.
  • Interface-Driven Design Patterns - Uses Java interfaces as blueprints to automatically generate concrete mapping implementation classes.
  • Type-Safe Data Handling - Creates reliable mapping layers between API models and internal entities while maintaining compile-time type checks.
  • Boilerplate Reduction Patterns - Eliminates the need for manual getter and setter calls by generating mapping logic during compilation.
  • Direct Method Call Generation - Produces plain Java method calls for data transfer to maximize execution speed and type safety.
  • Null Value Validation - Inserts guards and assigns default values by analyzing nullness annotations during data mapping.
  • Null-Aware Code Generation - Analyzes nullness annotations to automatically insert null checks and default value logic into generated methods.
  • Null-Safe Object Mapping - Handles potential null values and default assignments automatically when transferring data between object types.
  • Bean Mapping - Code generator for convention-over-configuration bean mapping.
  • Bean Mapping and Validation - Annotation processor for generating type-safe bean mappers.

Star history

Star history chart for mapstruct/mapstructStar history chart for mapstruct/mapstruct

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Projects sharing features with Mapstruct

These projects share indexed features with Mapstruct. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • projectlombok/lombokprojectlombok avatar

    projectlombok/lombok

    13,458View on GitHub↗

    Lombok is a Java annotation processor and boilerplate reduction library designed to automatically generate repetitive source code. It intercepts the compilation process to inject methods and fields directly into Java classes, acting as a source code generator that eliminates the need to manually write common class patterns. The project distinguishes itself through deep integration with the Java compiler and various integrated development environments. It provides IDE plugins that allow editors to recognize and navigate generated methods, preventing false compilation errors and maintaining syn

    Java
    View on GitHub↗13,458
  • xebia-france/selmaxebia-france avatar

    xebia-france/selma

    213View on GitHub↗

    Selma Java bean mapping that compiles

    Java
    View on GitHub↗213
  • orika-mapper/orikaorika-mapper avatar

    orika-mapper/orika

    1,315View on GitHub↗

    Simpler, better and faster Java bean mapping framework

    Javajavamapper
    View on GitHub↗1,315
  • google/autogoogle avatar

    google/auto

    10,545View on GitHub↗

    This project is a Java annotation processing framework and source code generator designed to automate repetitive boilerplate and reduce manual coding errors. It functions as a toolkit for building custom annotation processors that produce source code, metadata, and type definitions during the compilation process. The framework specifically automates the creation of immutable value types with built-in equality and hashing logic, as well as the generation of factory implementations for dependency injection. It also handles the automated production of service provider configuration files to enab

    Java
    View on GitHub↗10,545
Compare all 30 related projects→

Frequently asked questions

What does mapstruct/mapstruct do?

MapStruct is an annotation processor and Java bean mapping framework that automatically generates high-performance data transfer code during the compilation process. It serves as a type-safe data mapper for converting information between different object types, specifically targeting Java beans and records.

What are the main features of mapstruct/mapstruct?

The main features of mapstruct/mapstruct are: Type-Safe Mapper Generators, Annotation Processing Tooling, Java Annotation Processors, Compile-Time Field Mapping, Interface-Driven Design Patterns, Type-Safe Data Handling, Boilerplate Reduction Patterns, Direct Method Call Generation.

Which projects share features with mapstruct/mapstruct?

Projects with overlapping indexed features include: projectlombok/lombok — Lombok is a Java annotation processor and boilerplate reduction library designed to automatically generate repetitive… xebia-france/selma — Selma Java bean mapping that compiles. orika-mapper/orika — Simpler, better and faster Java bean mapping framework. google/auto — This project is a Java annotation processing framework and source code generator designed to automate repetitive… androidannotations/androidannotations — AndroidAnnotations is a suite of tools designed to automate the generation of repetitive boilerplate and setup code… jakewharton/butterknife — ButterKnife is an Android view binding library and Java annotation processor that automates the linking of UI elements…