- 说明
- 配置
- 使用一纯kotlin
- 使用二一混编java
gradle构建文件名称build.gradle [注意非build.gradle.kts]
默认没有引入kapt工具则mapstruct无法使用
配置当然你可以在kotlin中混用Java,此时基于Java撰写的dto转换类依旧可以工作
plugins {
引入kapt插件
id("org.jetbrains.kotlin.kapt") version("1.6.21")
}
ext {
mapstructVersion = "1.5.0.RC1"
}
dependencies {
//引用mapstruct包 以及kotlin annotation processor tool
implementation("org.mapstruct:mapstruct:${mapstructVersion}")
kapt("org.mapstruct:mapstruct-processor:${mapstructVersion}")
kaptTest("org.mapstruct:mapstruct-processor:${mapstructVersion}")
}
kapt {
arguments {
// Set Mapstruct Configuration options here
// https://kotlinlang.org/docs/reference/kapt.html#annotation-processor-arguments
// https://mapstruct.org/documentation/stable/reference/html/#configuration-options
// 注入spring 容器
arg("mapstruct.defaultComponentModel", "spring")
}
keepJavacAnnotationProcessors = true
}
使用一纯kotlin
@Mapper
interface FirstMapper {
fun convetor(data: AAA): BBB
}
fun main(args: Array使用二一混编java) { val data = AAA() val mapper: FirstMapper = Mappers.getMapper(FirstMapper::class.java) var bbb = mapper.convetor(data) }
- 此种使用方式无需于构建文件build.gradle中配置kapt[kotlin annotation processor tool]
@Mapper
public interface SecondMapper {
SecondMapper INSTANCE = Mappers.getMapper(SecondMapper.class);
BBB convetor(AAA data);
}
val bbb = SecondMapper.INSTANCE.convetor(data)



