栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

基于build.gradle文件整合mapstruct到kotlin工程

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

基于build.gradle文件整合mapstruct到kotlin工程

文章目录
  • 说明
  • 配置
  • 使用一纯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) {
    val data = AAA()
    val mapper: FirstMapper = Mappers.getMapper(FirstMapper::class.java)
    var bbb =  mapper.convetor(data)
}
使用二一混编java
  • 此种使用方式无需于构建文件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)
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/919957.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号