mirror of
https://gitee.com/easii/mapstruct-plus.git
synced 2025-12-08 10:08:47 +08:00
doc:
- 快速开始增加 Gradle 配置 - 增加常见问题
This commit is contained in:
parent
42d7e9180d
commit
2f94254499
@ -9,6 +9,8 @@ actions:
|
|||||||
- text: 快速开始 💡
|
- text: 快速开始 💡
|
||||||
link: /introduction/quick-start/
|
link: /introduction/quick-start/
|
||||||
type: primary
|
type: primary
|
||||||
|
- text: 常见问题
|
||||||
|
link: /guide/faq
|
||||||
|
|
||||||
features:
|
features:
|
||||||
- title: 快速
|
- title: 快速
|
||||||
|
|||||||
@ -6,12 +6,34 @@ category:
|
|||||||
description: MapStructPlus MapStructPlus常见问题 faq
|
description: MapStructPlus MapStructPlus常见问题 faq
|
||||||
---
|
---
|
||||||
|
|
||||||
|
## 生成的转换接口与转换类在哪里查看
|
||||||
|
|
||||||
|
在编译后的 target/generated-sources 目录下,如果没有该目录,则需要配置 IDEA 展示排除的文件(Show Excluded Files)
|
||||||
|
|
||||||
|
## "cannot find converter from xxx to xxx" / 没有生成转换接口
|
||||||
|
|
||||||
|
1. 建议按照[快速开始](/introduction/quick-start.html)重新查看一下自己的依赖和配置是否齐全,
|
||||||
|
如果项目中使用了 Lombok,则按照[指南-常见问题#与Lombok整合](/guide/faq.html)来进行配置;
|
||||||
|
2. 重新加载 Maven 依赖(Reload All Maven Projects)
|
||||||
|
3. mvn clean compile
|
||||||
|
4. 在 /target/generated-sources 目录下,查看是否生成转换接口。
|
||||||
|
5. 如果没有生成,联系作者
|
||||||
|
6. 如果已经生成,需要确认 SpringBoot 能否扫描到生成接口所在的包!
|
||||||
|
|
||||||
|
## 生成的转换接口及实现类的目录规则
|
||||||
|
|
||||||
|
默认情况下,会在生成在源类同包名下,可以通过[配置](/guide/configuration.html)来指定具体的目录。
|
||||||
|
|
||||||
|
> 需要注意,如果是外部依赖包,也会生成在外部依赖类所在的同名包下,导致 Spring 扫描不到,这种情况下,建议指定具体的目录。
|
||||||
|
|
||||||
## 与 `lombok` 整合
|
## 与 `lombok` 整合
|
||||||
|
|
||||||
与 Mapstruct 整合 lombok 的方式一致。
|
与 Mapstruct 整合 lombok 的方式一致。
|
||||||
|
|
||||||
### lombok 1.18.16 之前:
|
### lombok 1.18.16 之前:
|
||||||
|
|
||||||
|
#### Maven
|
||||||
|
|
||||||
```xml
|
```xml
|
||||||
|
|
||||||
<build>
|
<build>
|
||||||
@ -41,8 +63,19 @@ description: MapStructPlus MapStructPlus常见问题 faq
|
|||||||
</build>
|
</build>
|
||||||
```
|
```
|
||||||
|
|
||||||
|
#### Gradle
|
||||||
|
|
||||||
|
```groovy
|
||||||
|
dependencies {
|
||||||
|
annotationProcessor group: 'org.projectlombok', name: 'lombok', version: {lombok.version}
|
||||||
|
annotationProcessor group: 'io.github.linpeilie', name: 'mapstruct-plus-processor', version: ${mapstruct-plus.version}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
### lombok 1.18.16 及以后:
|
### lombok 1.18.16 及以后:
|
||||||
|
|
||||||
|
#### Maven
|
||||||
|
|
||||||
```xml
|
```xml
|
||||||
|
|
||||||
<build>
|
<build>
|
||||||
@ -77,19 +110,12 @@ description: MapStructPlus MapStructPlus常见问题 faq
|
|||||||
</build>
|
</build>
|
||||||
```
|
```
|
||||||
|
|
||||||
## 生成的转换接口与转换类在哪里查看
|
#### Gradle
|
||||||
|
|
||||||
在编译后的 target/generated-sources 目录下,如果没有该目录,则需要配置 IDEA 展示排除的文件(Show Excluded Files)
|
```groovy
|
||||||
|
dependencies {
|
||||||
## 没有生成转换接口
|
annotationProcessor group: 'org.projectlombok', name: 'lombok', version: {lombok.version}
|
||||||
|
annotationProcessor group: 'io.github.linpeilie', name: 'mapstruct-plus-processor', version: ${mapstruct-plus.version}
|
||||||
1. 建议按照[快速开始](/introduction/quick-start.html)重新查看一下自己的依赖和配置是否齐全,
|
annotationProcessor group: 'org.projectlombok', name: 'lombok-mapstruct-binding', version: '0.2.0'
|
||||||
如果项目中使用了 Lombok,则按照[指南-常见问题#与Lombok整合](/guide/faq.html)来进行配置;
|
}
|
||||||
2. 重新加载 Maven 依赖(Reload All Maven Projects)
|
```
|
||||||
3. mvn clean compile
|
|
||||||
|
|
||||||
## 生成的转换接口及实现类的目录规则
|
|
||||||
|
|
||||||
默认情况下,会在生成在源类同包名下,可以通过[配置](/guide/configuration.html)来指定具体的目录。
|
|
||||||
|
|
||||||
> 需要注意,如果是外部依赖包,也会生成在外部依赖类所在的同名包下,导致 Spring 扫描不到,这种情况下,建议指定具体的目录。
|
|
||||||
@ -42,6 +42,8 @@ public class User {
|
|||||||
|
|
||||||
引入 `mapstruct-plus` 依赖:
|
引入 `mapstruct-plus` 依赖:
|
||||||
|
|
||||||
|
#### Maven
|
||||||
|
|
||||||
```xml
|
```xml
|
||||||
<properties>
|
<properties>
|
||||||
<mapstruct-plus.version>最新版本</mapstruct-plus.version>
|
<mapstruct-plus.version>最新版本</mapstruct-plus.version>
|
||||||
@ -75,6 +77,16 @@ public class User {
|
|||||||
</build>
|
</build>
|
||||||
```
|
```
|
||||||
|
|
||||||
|
#### Gradle
|
||||||
|
|
||||||
|
```groovy
|
||||||
|
dependencies {
|
||||||
|
implementation group: 'io.github.linpeilie', name: 'mapstruct-plus', version: ${mapstruct-plus.version}
|
||||||
|
|
||||||
|
annotationProcessor group: 'io.github.linpeilie', name: 'mapstruct-plus-processor', version: ${mapstruct-plus.version}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
### 添加配置类
|
### 添加配置类
|
||||||
|
|
||||||
在 Bean 对象所在模块包中,任意类上增加注解:`@ComponentModelConfig(componentModel = "default")`
|
在 Bean 对象所在模块包中,任意类上增加注解:`@ComponentModelConfig(componentModel = "default")`
|
||||||
@ -138,6 +150,8 @@ public class QuickStart {
|
|||||||
|
|
||||||
引入 `mapstruct-plus-spring-boot-starter` 依赖:
|
引入 `mapstruct-plus-spring-boot-starter` 依赖:
|
||||||
|
|
||||||
|
#### Maven
|
||||||
|
|
||||||
```xml
|
```xml
|
||||||
<properties>
|
<properties>
|
||||||
<mapstruct-plus.version>最新版本</mapstruct-plus.version>
|
<mapstruct-plus.version>最新版本</mapstruct-plus.version>
|
||||||
@ -171,6 +185,16 @@ public class QuickStart {
|
|||||||
</build>
|
</build>
|
||||||
```
|
```
|
||||||
|
|
||||||
|
#### Gradle
|
||||||
|
|
||||||
|
```groovy
|
||||||
|
dependencies {
|
||||||
|
implementation group: 'io.github.linpeilie', name: 'mapstruct-plus-spring-boot-starter', version: ${mapstruct-plus.version}
|
||||||
|
|
||||||
|
annotationProcessor group: 'io.github.linpeilie', name: 'mapstruct-plus-processor', version: ${mapstruct-plus.version}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
### 指定对象映射关系
|
### 指定对象映射关系
|
||||||
|
|
||||||
同非 SpringBoot 环境
|
同非 SpringBoot 环境
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user