MapStruct 添加 Maven 依赖
一则小广告
最近,小哈正在带小伙伴做前后端分离博客项目,采用技术栈 Spring Boot + Mybatis Plus + Vue 3.2 + Vite 4
,手把手教学,前端 + 后端全栈开发,从 0 到 1 讲解每个功能开发过程,1v1 答疑,陪伴式直到项目上线,目前第六章 《Element Plus 手搭 Admin 后台管理骨架》已快完结,截止到目前,已更新 52 节内容,共计 81557 字,演示截图:433 张,持续更新中,后续还会上新更多项目,欢迎点击加入。
要想在项目中使用 MapStruct,首先,需要在 Maven 项目中添加 MapStruct 依赖。
1. 添加核心依赖
将 MapStruct 核心库添加到项目的 pom.xml
文件中。下面是 MapStruct 核心依赖的示例:
<dependency>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct</artifactId>
<version>1.5.5.Final</version> <!-- 使用时请检查最新版本 -->
</dependency>
提示:你可以访问 MapStruct 的官方页面 以获取最新的依赖版本。
2. 添加编译器插件
除了核心库,还需要添加 MapStruct 的编译器插件。这是因为 MapStruct 在编译时生成映射代码。为此,我们需要在 pom.xml
中的 <build>
部分添加以下插件:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version> <!-- 使用时请检查最新版本 -->
<configuration>
<source>1.8</source> <!-- 根据你的 JDK 版本进行调整 -->
<target>1.8</target> <!-- 根据你的 JDK 版本进行调整 -->
<annotationProcessorPaths>
<path>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct-processor</artifactId>
<version>1.5.5.Final</version> <!-- 使用时请检查最新版本 -->
</path>
</annotationProcessorPaths>
</configuration>
</plugin>
</plugins>
</build>
这里,我们添加了 maven-compiler-plugin
插件并为其配置了 MapStruct 的注解处理器 mapstruct-processor
。这确保在编译项目时,MapStruct 会生成必要的映射实现代码。
3. 校验配置
为确保一切都正确配置,可以尝试编写一个简单的 MapStruct 接口并编译项目。如果项目成功编译,并且在 target/generated-sources
目录下生成了相应的映射实现类,那么配置应该就没问题。
@Mapper
public interface CarMapper {
CarMapper INSTANCE = Mappers.getMapper(CarMapper.class);
CarDto carToCarDto(Car car);
}
编译后,应该可以在上述目录下看到一个名为 CarMapperImpl
的类。
总结
MapStruct 是一个功能强大的对象映射工具,它通过在编译时自动生成代码来实现映射,从而避免了运行时的性能开销。通过正确配置 Maven 依赖和插件,我们可以轻松地在项目中集成 MapStruct 并开始使用其强大的功能。