diff --git a/README.md b/README.md
index 104678e45b0b6781153ce61a1553cb82bc277225..017740f4526b62ca4b213dc8b2b4af71c1d1bef9 100644
--- a/README.md
+++ b/README.md
@@ -188,7 +188,7 @@ public class User {
```xml
- 1.4.4
+ 1.4.5
diff --git a/docs/.vuepress/components/links.ts b/docs/.vuepress/components/links.ts
index bd85664ce788e3beed2f257da0a80769283e8c12..4ec415b51936180ef15e16827b6615c4cdee6a8c 100644
--- a/docs/.vuepress/components/links.ts
+++ b/docs/.vuepress/components/links.ts
@@ -1,4 +1,4 @@
export const links = [
{ logo: 'https://plus-doc.dromara.org/static/image/logo.png', title: 'RuoYi-Vue-Plus 多租户权限管理系统', desc: '真正面向企业级的应用框架\n组件化 模块化 轻耦合 高扩展 针对企业痛点 业界一流技术栈', link: 'https://plus-doc.dromara.org/#/' },
- { logo: 'https://demo.orangeforms.com/img/login_logo2.424461a3.png', title: '橙单 —— 最纯粹的代码生成工具', desc: '80% 代码「免费」生成,全部源码交付,永久免费升级', link: 'https://www.orangeforms.com/' }
+ { logo: 'https://demo.orangeforms.com/img/login_logo2.424461a3.png', title: '免费代码生成工具', desc: '卓越的代码生成能力,全优的代码生成质量', link: 'https://www.orangeforms.com/' }
]
\ No newline at end of file
diff --git a/docs/README.md b/docs/README.md
index 275f745ce79b559ab330e162380e4a3d6cddfe80..365eb6161636d220bdaa155450f1bdb1f2ccfa24 100644
--- a/docs/README.md
+++ b/docs/README.md
@@ -61,18 +61,22 @@ footer:
io.github.linpeilie
mapstruct-plus-spring-boot-starter
- 1.4.4
+ 1.4.5
```
- gradle
```groovy
-implementation group: 'io.github.linpeilie', name: 'mapstruct-plus-spring-boot-starter', version: '1.4.4'
+implementation group: 'io.github.linpeilie', name: 'mapstruct-plus-spring-boot-starter', version: '1.4.5'
```
## 更新日志
+### 1.4.5
+
+- fix: 修复 `ReverseAutoMappings` 配置不生效的问题
+
### 1.4.4
- fix: 修复部分Spring版本下找不到类的问题
diff --git a/docs/en/README.md b/docs/en/README.md
index ef02710ac4a86fbbb795d30264eb38d045ee1d7f..51c017f451a340f7f737b057bfb37eaf816eacd0 100644
--- a/docs/en/README.md
+++ b/docs/en/README.md
@@ -58,18 +58,22 @@ fotter:
io.github.linpeilie
mapstruct-plus-spring-boot-starter
- 1.4.4
+ 1.4.5
```
- gradle
```groovy
-implementation group: 'io.github.linpeilie', name: 'mapstruct-plus-spring-boot-starter', version: '1.4.4'
+implementation group: 'io.github.linpeilie', name: 'mapstruct-plus-spring-boot-starter', version: '1.4.5'
```
## Change Log
+### 1.4.5
+
+- fix: fiexed an issue where the `ReverseAutoMapping` configuration did not take effect.
+
### 1.4.4
- fix: fixed a problem with missing classes in some Spring release version.
diff --git a/docs/en/release/log.md b/docs/en/release/log.md
index 94b71bf47b4515147f9bce01ae2688b0536c1bae..d928690e3aa3fc4d99a82f26e6ee0d062d301b0b 100644
--- a/docs/en/release/log.md
+++ b/docs/en/release/log.md
@@ -6,6 +6,10 @@ category:
description: MapStructPlus release log
---
+### 1.4.5
+
+- fix: fiexed an issue where the `ReverseAutoMapping` configuration did not take effect.
+
### 1.4.4
- fix: fixed a problem with missing classes in some Spring release version.
diff --git a/docs/release/log.md b/docs/release/log.md
index 552c2973e5ca323b0b889670334ac851d8226f1c..d1f1b89305307f69322405f1f5b305a75591cfae 100644
--- a/docs/release/log.md
+++ b/docs/release/log.md
@@ -6,6 +6,10 @@ category:
description: MapStructPlus release log
---
+### 1.4.5
+
+- fix: 修复 `ReverseAutoMappings` 配置不生效的问题
+
### 1.4.4
- fix: 修复部分Spring版本下找不到类的问题
diff --git a/example/pom.xml b/example/pom.xml
index d5d2a39ddb9ed74dc9b9dee85b0128836d616209..524c0b81ee63e6b3d4a8d3ead27a80f0b0c67507 100644
--- a/example/pom.xml
+++ b/example/pom.xml
@@ -18,7 +18,7 @@
UTF-8
1.5.1.Final
- 1.4.3
+ 1.4.5
1.18.22
5.8.26
32.1.3-jre
diff --git a/example/spring-boot-with-lombok/src/main/java/io/github/linpeilie/me/reverseConvertGenerate/PersonBo.java b/example/spring-boot-with-lombok/src/main/java/io/github/linpeilie/me/reverseConvertGenerate/PersonBo.java
new file mode 100644
index 0000000000000000000000000000000000000000..e601548f871958db256636ac9d75a9428a058fc5
--- /dev/null
+++ b/example/spring-boot-with-lombok/src/main/java/io/github/linpeilie/me/reverseConvertGenerate/PersonBo.java
@@ -0,0 +1,19 @@
+package io.github.linpeilie.me.reverseConvertGenerate;
+
+import io.github.linpeilie.annotations.AutoMapper;
+import io.github.linpeilie.annotations.AutoMapping;
+import io.github.linpeilie.annotations.ReverseAutoMapping;
+import io.github.linpeilie.annotations.ReverseAutoMappings;
+import lombok.Data;
+
+@AutoMapper(target = PersonVo.class)
+@Data
+public class PersonBo {
+
+ @ReverseAutoMappings({
+ @ReverseAutoMapping(source = "name")
+ })
+ private String n;
+ private Integer age;
+
+}
diff --git a/example/spring-boot-with-lombok/src/main/java/io/github/linpeilie/me/reverseConvertGenerate/PersonVo.java b/example/spring-boot-with-lombok/src/main/java/io/github/linpeilie/me/reverseConvertGenerate/PersonVo.java
new file mode 100644
index 0000000000000000000000000000000000000000..5aed97e49c187f978ee878853ccf2a5aae6586f3
--- /dev/null
+++ b/example/spring-boot-with-lombok/src/main/java/io/github/linpeilie/me/reverseConvertGenerate/PersonVo.java
@@ -0,0 +1,11 @@
+package io.github.linpeilie.me.reverseConvertGenerate;
+
+import lombok.Data;
+
+@Data
+public class PersonVo {
+
+ private String name;
+ private Integer age;
+
+}
diff --git a/mapstruct-plus-processor/src/main/java/io/github/linpeilie/processor/AutoMapperProcessor.java b/mapstruct-plus-processor/src/main/java/io/github/linpeilie/processor/AutoMapperProcessor.java
index a5d4c158bf136265dcfc804ee603d1c50a0db8e0..978a4d9e2a793291262d36f6e932bb5ff8f9aa02 100644
--- a/mapstruct-plus-processor/src/main/java/io/github/linpeilie/processor/AutoMapperProcessor.java
+++ b/mapstruct-plus-processor/src/main/java/io/github/linpeilie/processor/AutoMapperProcessor.java
@@ -919,7 +919,7 @@ public class AutoMapperProcessor extends AbstractProcessor {
}
ReverseAutoMappingsGem reverseAutoMappingsGem = ReverseAutoMappingsGem.instanceOn(field);
if (reverseAutoMappingsGem != null && reverseAutoMappingsGem.isValid()) {
- reverseAutoMappingsGem.value().get().forEach(a -> buildAutoMappingMetadata(a, field));
+ reverseAutoMappingsGem.value().get().forEach(a -> list.add(buildAutoMappingMetadata(a, field)));
}
}
diff --git a/mapstruct-plus/src/main/java/io/github/linpeilie/annotations/AutoMapper.java b/mapstruct-plus/src/main/java/io/github/linpeilie/annotations/AutoMapper.java
index 32a2211e8d38d59d41d10c8e9c41b7361f86f620..d85652cef0dd6a0f10f1ad8102c0143877cafc4e 100644
--- a/mapstruct-plus/src/main/java/io/github/linpeilie/annotations/AutoMapper.java
+++ b/mapstruct-plus/src/main/java/io/github/linpeilie/annotations/AutoMapper.java
@@ -45,11 +45,15 @@ public @interface AutoMapper {
/**
* 生成的 Mapper 接口名称
+ *
+ * @return 生成的 Mapper 接口名称
*/
String mapperName() default "";
/**
* 生成的 Mapper 接口名称后缀,生成的反向转换接口同时生效
+ *
+ * @return 生成的 Mapper 接口名称后缀
*/
String mapperNameSuffix() default "";
diff --git a/mapstruct-plus/src/main/java/io/github/linpeilie/annotations/AutoMapping.java b/mapstruct-plus/src/main/java/io/github/linpeilie/annotations/AutoMapping.java
index 80817b36dc840eec649742e0224c567b5b51891b..93166fafc68b37b838033cebc4338ab9c0827bb4 100644
--- a/mapstruct-plus/src/main/java/io/github/linpeilie/annotations/AutoMapping.java
+++ b/mapstruct-plus/src/main/java/io/github/linpeilie/annotations/AutoMapping.java
@@ -25,7 +25,9 @@ public @interface AutoMapping {
Class> targetClass() default DefaultMapping.class;
/**
- * 是否生成反向转换的逻辑
+ * 是否生成反向转换的逻辑。
+ *
+ * 该属性只针对复杂转换,且 MapStruct 默认不会自动转换的属性生效,比如多层结构:a.b 转换为当前类的 c
*
* @return true : 生成反向转换的逻辑 false : 不生成反向转换的逻辑
*/
@@ -46,6 +48,7 @@ public @interface AutoMapping {
String numberFormat() default "";
/**
+ * @return 常量值
* @since 1.4.2
*/
String constant() default "";
diff --git a/mapstruct-plus/src/main/java/io/github/linpeilie/utils/ClassUtil.java b/mapstruct-plus/src/main/java/io/github/linpeilie/utils/ClassUtil.java
index 80085fb36dc84d75f9834a1d29f61be26ba14da6..e04c04a763ea9cfa40a7a3b7cd284b0c5c2bab0a 100644
--- a/mapstruct-plus/src/main/java/io/github/linpeilie/utils/ClassUtil.java
+++ b/mapstruct-plus/src/main/java/io/github/linpeilie/utils/ClassUtil.java
@@ -4,8 +4,8 @@ public class ClassUtil {
/**
* 简化类全限定名
- * @param qualifiedName
- * @return
+ * @param qualifiedName 类全限定名
+ * @return 类全限定名简化后的名称
*/
public static String simplifyQualifiedName(String qualifiedName) {
String[] arr = qualifiedName.split("\\.");
diff --git a/pom.xml b/pom.xml
index 831628f0a9a9fff4050ef7bf44a33280e64a0c46..0a1543c638988e3328b4e7f0ea9dcacd3d04c2f6 100644
--- a/pom.xml
+++ b/pom.xml
@@ -18,7 +18,7 @@
- 1.4.4
+ 1.4.5
8
8
UTF-8