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