mapstruct-plus/docs/guide/configuration.md
darkiller 957d139d6b feat: 增加 nullValueMappingStrategynullValuePropertyMappingStrategy 配置项
(cherry picked from commit dddfd46af2b9d2e8bf0ba26a637a053bb7810f88)
2023-05-23 17:21:17 +08:00

105 lines
2.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: 配置项
order: 6
category:
- 指南
description: MapStructPlus MapStructPlus配置项 configuration
---
MapStructPlus 提供了多个配置项,来指定生成转换接口时的一些行为。
## 使用方式
在需要进行配置的模块中,新建配置类,在该类上面增加注解:`@MapperConfig`,在一个模块中,只能有一个有该注解的类。
例如:
```java
@MapperConfig(adapterClassName = "DemoConvertMapperAdapter",
adapterPackage = "io.github.linpeilie.adapter",
mapAdapterClassName = "DemoMapConvertMapperAdapter")
public class MapStructPlusConfiguration {
}
```
## 配置项
### mapperPackage
- **说明**:生成的 Mapper 转换接口的包名
- **类型**`String`
- **默认值**:默认生成在要转换的类同包名下
### unmappedSourcePolicy
- **说明**:当来源类中没有对应属性时的策略,默认忽略
- **类型**`ReportingPolicy`
- **可选项**
- `IGNORE`:忽略
- `WARN`:打印警告日志
- `ERROR`:抛出异常
- **默认值**`IGNORE`
### unmappedTargetPolicy
- **说明**:当目标类中没有对应属性时的策略,默认忽略
- **类型**`ReportingPolicy`
- **可选项**
- `IGNORE`:忽略
- `WARN`:打印警告日志
- `ERROR`:抛出异常
- **默认值**`IGNORE`
### nullValueMappingStrategy
- **说明**:空值对象处理策略,默认返回空值
- **类型**`NullValueMappingStrategy`
- **可选项**
- `RETURN_NULL`:返回空值
- `RETURN_DEFAULT`:返回默认值
- **默认值**`RETURN_NULL`
-
### nullValuePropertyMappingStrategy
- **说明**:当属性值为 `null` 时应对的策略,默认设置 `null`
- **类型**`NullValuePropertyMappingStrategy`
- **可选项**
- `SET_TO_NULL`:设置为 `null`
- `SET_TO_DEFAULT`:设置为默认值
- `IGNORE`:忽略
- **默认值**`SET_TO_NULL`
### builder
- **说明**构造者模式配置MapStruct 与 lombok 的 builder 一起使用时,会丢失父类属性,所以这里将默认使用构造者模式关闭
- **类型**`Builder`
- **支持配置项**
- `buildMethod`:构造器创建要构建类型时的构造方法
- `disableBuilder`:打开/关闭构造器,如果关闭,则只使用常规的 getters/setters
- **默认值**
- `buildMethod``build`
- `disableBuilder``true`
### adapterPackage
> since `1.2.3`
- **说明**ConvertAdapterClass 和 MapConvertMapperAdapter 的包名
- **类型**`String`
- **默认值**io.github.linpeilie
### adapterClassName
> since `1.2.3`
- **说明**ConvertAdapterClass 类名
- **类型**`String`
- **默认值**ConvertMapperAdapter
### mapAdapterClassName
> since `1.2.3`
- **说明**MapConvertMapperAdapter 类名
- **类型**`String`
- **默认值**MapConvertMapperAdapter