# ModelMapper Tutorial

## ![image info](https://2253721247-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MN-Mk4OMwmmbOMJa9JS%2Fuploads%2Fgit-blob-75c36ca21977a39ec156e2fd48b1f548a884d41e%2Ficons8-code-64.png?alt=media) *Description*

Works in the same way as Orika/Dozer bean mapping frameworks does. This mapper uses the bytecode generation strategy based on Cglib library.

## ![image info](https://2253721247-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MN-Mk4OMwmmbOMJa9JS%2Fuploads%2Fgit-blob-a0994bcfb3a7b71ff67a84aa3640ca5f78d90c84%2Ficons8-attach-64.png?alt=media) *Features*

## ![image info](https://2253721247-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MN-Mk4OMwmmbOMJa9JS%2Fuploads%2Fgit-blob-4ed9f52d5ebe2dc58fe32d791ec564b3c13cd10e%2Ficons8-edit-property-64.png?alt=media) *Pros & Cons*

### ![image info](https://2253721247-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MN-Mk4OMwmmbOMJa9JS%2Fuploads%2Fgit-blob-12af9e13b9af93bf6e34ac672aa5e21cea299227%2Ficons8-add-property-64.png?alt=media) *Pros*

* bytecode generation using Cglib library
* offers an API for specific use cases, so various mapping techniques can be implemented (via PropertyMappings with full conversion support)

### ![image info](https://2253721247-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MN-Mk4OMwmmbOMJa9JS%2Fuploads%2Fgit-blob-22350a29bb796d244a393627a10bf8e746546cb7%2Ficons8-remove-property-64.png?alt=media) *Cons*

* hard to debug end-to-end object mappings

## ![image info](https://2253721247-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MN-Mk4OMwmmbOMJa9JS%2Fuploads%2Fgit-blob-8b63536610432d3df79534955d64748ed7184f95%2Ficons8-source-64.png?alt=media) *Use cases*

## ![image info](https://2253721247-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MN-Mk4OMwmmbOMJa9JS%2Fuploads%2Fgit-blob-b7fff22a5f9ca9c6eb4c54dc1209a9589ba85ef6%2Ficons8-inspect-code-64.png?alt=media) *Links*

* [**Official Site**](http://modelmapper.org/)
* [**Official Repository**](https://github.com/modelmapper/modelmapper)
* [**Java Performance Mappings**](https://www.baeldung.com/java-performance-mapping-frameworks)
* [**Java ModelMapper Lists**](https://www.baeldung.com/java-modelmapper-lists)
* [**Java ModelMapper Habr**](https://habr.com/ru/post/438808/)
* [**Java ModelMapper FAQ**](https://progi.pro/modelmapper-t19329)
* [**Java ModelMapper OverCoder**](https://overcoder.net/q/696819/modelmapper-%D0%B2%D1%8B%D0%B1%D0%B5%D1%80%D0%B8%D1%82%D0%B5-%D0%BE%D1%82%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5-%D0%BD%D0%B0-%D0%BE%D1%81%D0%BD%D0%BE%D0%B2%D0%B5-%D0%B4%D0%BE%D1%87%D0%B5%D1%80%D0%BD%D0%B5%D0%B3%D0%BE-%D0%BA%D0%BB%D0%B0%D1%81%D1%81%D0%B0)
* [**Java ModelMapper Alternatives**](https://java.libhunt.com/modelmapper-alternatives)
