用MapStruct 将List<SettingConfigBo> settingConfigBos 转List<SettingConfigVo> settingConfigVos
时间: 2025-01-27 20:09:15 浏览: 29
`MapStruct` 是一个强大的 Java 库,用于简化模型到模型(Model-to-Model, M2M)之间的映射操作,特别是在 Spring Boot 中使用。如果你有一个从 `SettingConfigBo` 到 `SettingConfigVo` 的转换需求,你可以定义一个 `Mapper` 接口并利用 MapStruct 自动生成大部分的映射逻辑。
首先,确保你已经添加了 MapStruct 的依赖到你的项目中。如果还没有,可以通过 Maven 或 Gradle 的库管理器添加:
Maven:
```xml
<dependency>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct-jdk8</artifactId>
<version>1.4.2.Final</version>
</dependency>
```
Gradle:
```groovy
implementation 'org.mapstruct:mapstruct-jdk8:1.4.2.Final'
```
然后,创建一个 `SettingConfigMapper` 接口,继承自 `Mapper` 并指定源和目标类型:
```java
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;
import java.util.List;
@Mapper
public interface SettingConfigMapper {
@Mapping(source = "list", target = "settingConfigVos")
default List<SettingConfigVo> convertToSettingConfigVos(List<SettingConfigBo> settingConfigBos) {
return Mappers.getMapper(SettingConfigMapper.class).convertList(settingConfigBos);
}
}
```
在这里,`@Mapping` 注解告诉 MapStruct 你需要进行哪些字段的映射。`source` 属性指定源集合,`target` 属性指定目标集合。
现在,你可以在需要的地方调用这个方法,例如服务层或控制器:
```java
@Service
public class MyService {
private final SettingConfigMapper settingConfigMapper;
public MyService(SettingConfigMapper settingConfigMapper) {
this.settingConfigMapper = settingConfigMapper;
}
public List<SettingConfigVo> processSettingConfigs(List<SettingConfigBo> configBos) {
return settingConfigMapper.convertToSettingConfigVos(configBos);
}
}
```
阅读全文
相关推荐














