@MapperConfig的作用是什么
时间: 2023-12-18 09:04:28 浏览: 243
@MapperConfig 注解是 MapStruct 中的一个注解,用于定义映射器的通用配置,可以在多个映射器中重用。通过 @MapperConfig 注解定义的配置可以被 @Mapper 注解中的 config 属性引用。
使用 @MapperConfig 注解定义通用配置可以提高代码的复用率和可维护性,同时也可以避免在每个映射器中都重复定义相同的配置。
下面是一个使用 @MapperConfig 注解定义通用配置的示例:
```java
@MapperConfig
public interface MyMapperConfig {
@Mappings({
@Mapping(source = "name", target = "fullName"),
@Mapping(source = "age", target = "ageInYears")
})
void mapPersonToDto(Person person, @MappingTarget PersonDto personDto);
}
```
在上面的示例中,我们定义了一个 MyMapperConfig 接口,并使用 @MapperConfig 注解标记。在该接口中,我们定义了一个 mapPersonToDto 方法,并使用 @Mappings 注解定义了源属性和目标属性之间的映射关系。
然后,在其他映射器接口中,我们可以使用 @Mapper 注解的 config 属性来引用 MyMapperConfig 接口中定义的配置,如下所示:
```java
@Mapper(config = MyMapperConfig.class)
public interface MyMapper {
PersonDto toPersonDto(Person person);
}
```
在上面的示例中,我们使用 @Mapper 注解,并指定 config 属性为 MyMapperConfig.class,这样就可以在 MyMapper 接口中使用 MyMapperConfig 接口中定义的 mapPersonToDto 方法的映射配置。
总之,@MapperConfig 注解用于定义映射器的通用配置,可以在多个映射器中重用,并通过 @Mapper 注解的 config 属性引用。使用 @MapperConfig 注解可以提高代码的复用率和可维护性,避免在每个映射器中都重复定义相同的配置。
阅读全文