> For the complete documentation index, see [llms.txt](https://alexander-rogalsky.gitbook.io/object-mappers-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://alexander-rogalsky.gitbook.io/object-mappers-docs/modules/beanutils/info.md).

# BeanUtils 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*

Java Bean Mapper is part of the Apache Commons BeanUtils library from the Apache Software Foundation. This project provides useful tools around the standard JavaBeans Component API with reflection-based *java.beans.Introspector* mechanism of mapping. The mapping under the hood is provided by the *org.apache.commons.beanutils.BeanUtils* class. Can only be used for simple and not profound mappings.

## ![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*

* good performance
* easy-to-use and easy-to-follow object mapping approach

### ![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*

* cannot process recursive object mappings
* fully depends on setter method availability

## ![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://beanmapper.io/)
* [**Official Repository**](https://github.com/42BV/beanmapper)
* [**Java BeanMapper Alternatives**](https://java.libhunt.com/beanmapper-alternatives)
