简体   繁体   中英

MapStruct: Difference between BeanMapping and Mapping

I have been going through the documentation of MapStruct and can't seem to figure out when the annotation @BeanMapping should be used. The documentation seems to extensively use just @Mapping for most cases as well. Could someone explain the use of @BeanMapping annotation? Perhaps with an example?

The @Mapping annotation is one of the core annotation of MapStruct. It allows you to define mappings between properties that are not named the same. From the JavaDoc:

Configures the mapping of one bean attribute.

The @BeanMapping annotation is there to control the behaviour of the entire mapping method. You can use @BeanMapping to set the NullValueCheckStrategy for the entire mapping method. From the JavaDoc:

Configures the mapping between two bean types

simply @BeanMapping let you customize the mapping process.

example 1: @BeanMapping(ignoreByDefault = true) means No automatic mapping will take place, so All mappings have to be defined manually.

example 2: @BeanMapping(ignoreUnmappedSourceProperties = {"title"}) means ignore title field during the mapping process

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM