为何配置一个接口,就可以实现类型转换,实现类在哪里呢?
原来是通过MappingProcessor 类,在编译的时候会生成对应的实现类,如下
参考文档:mapstruct原理解析-CSDN博客
mapstruct-processor 包
包中,通过 META-INF/services目录下创建javax.annotation.processing.Processor 配置
org.mapstruct.ap.MappingProcessor
项目在编译的时候,会走 MappingProcessor 类,实现 AbstractProcessor 中init 方法初始化出对应实现类