From 7aa92f07e5354155cb2f243d01b7a2bc728cae47 Mon Sep 17 00:00:00 2001 From: linpeilie Date: Mon, 17 Mar 2025 18:36:02 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A01.4.7=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- docs/README.md | 42 +++++++-------------------------------- docs/en/README.md | 45 +++++++----------------------------------- docs/en/release/log.md | 5 +++++ docs/release/log.md | 5 +++++ 5 files changed, 25 insertions(+), 74 deletions(-) diff --git a/README.md b/README.md index d09271c..85670d6 100644 --- a/README.md +++ b/README.md @@ -192,7 +192,7 @@ public class User { ```xml - 1.4.6 + 1.4.7 diff --git a/docs/README.md b/docs/README.md index e4b15d1..93b160b 100644 --- a/docs/README.md +++ b/docs/README.md @@ -61,18 +61,23 @@ footer: io.github.linpeilie mapstruct-plus-spring-boot-starter - 1.4.6 + 1.4.7 ``` - gradle ```groovy -implementation group: 'io.github.linpeilie', name: 'mapstruct-plus-spring-boot-starter', version: '1.4.6' +implementation group: 'io.github.linpeilie', name: 'mapstruct-plus-spring-boot-starter', version: '1.4.7' ``` ## 更新日志 +### 1.4.7 + +- 修复在 Vscode 软件中,默认使用 Eclipse jdt.core 环境下,生成的转换实现类冲突的问题; +- 重新打包 javapoet,防止与其他项目冲突; + ### 1.4.6 - 修改 `SpringContextUtils` 类名,防止与其他项目类名冲突; @@ -87,39 +92,6 @@ implementation group: 'io.github.linpeilie', name: 'mapstruct-plus-spring-boot-s - fix: 修复部分Spring版本下找不到类的问题 -### 1.4.3 - -- feat: `ComponentModel` 增加 `spring-lazy` 可选项,懒加载 Spring Bean,解决互相依赖的问题,并将默认配置改为该选项; -- fix: 解决 `unmappedTargetPolicy` 默认配置不生效的问题; -- enhance: 优化 IDEA 本地开发构建效率,一定程度上缩短构建时间、减小元空间占用;[Issue #89](https://github.com/linpeilie/mapstruct-plus/issues/89) - -### 1.4.2 - -- feat: `AutoMapper` 注解增加 `mapperNameSuffix` 属性,支持配置生成的转换接口名称增加后缀,默认规则下生成的反向转换接口同时生效; -- feat : 适配 `Mapper` 注解的 `unmappedSourcePolicy`、`unmappedTargetPolicy`、`typeConversionPolicy`、`collectionMappingStrategy`、`nullValueMappingStrategy`、`nullValueIterableMappingStrategy`、`nullValuePropertyMappingStrategy`、`nullValueCheckStrategy`、`mappingControl` 属性; -- feat : 适配 `Mapping` 注解的 `constant`、`qualifiedBy`、`nullValueCheckStrategy`、`nullValuePropertyMappingStrategy`、`mappingControl`; -- feat : 适配 MapStruct 配置的 `typeConversionPolicy`、`collectionMappingStrategy`、`nullValueIterableMappingStrategy`、`nullValueMapMappingStrategy`、`nullValueCheckStrategy`、`mappingControl`、`unexpectedValueMappingException`、`suppressTimestampInGenerated` 属性; -- fix : 适配同一个模块中同类不同包生成类名冲突的问题; -- feat : `AutoMapping` 注解增加 `reverseConvertGenerate`,控制是否生成反向转换逻辑,适配更加复杂的应用场景; -- fix : 修复 `targetClass` 同时配置父类和子类时,转换规则冲突的问题; -- fix : 修复不同模块配置类、代理类类名冲突的问题; -- feat : `AutoMapper` 增加 `useEnums` 属性,支持手动配置转换时需要的枚举,解决跨模块枚举无法自动转换的问题; -- 优化转换接口生成逻辑; - -### 1.4.0 - -- **优化复杂对象转换逻辑,占用元空间更小!性能更快!** -- 去除 hutool 等依赖,目前项目中只依赖了 MapStruct -- 适配对象循环嵌套场景 -- [feature#63](https://github.com/linpeilie/mapstruct-plus/pull/63)`AutoMapping`、`ReverseAutoMapping` 支持 `qualifiedByName`、`conditionQualifiedByName` 和 `dependsOn` 属性 -- [issue#I93Z2Z](https://gitee.com/easii/mapstruct-plus/issues/I93Z2Z)`AutoMappings` 支持配置在方法上面 - -> 升级 1.4.0 注意事项: -> - 1.4.0 及以后的版本,复杂对象比较依赖项目中生成的 `ConvertMapperAdapter`, -> 在多模块下,由于类加载机制只会加载一个的原因,可能会导致 [`NoSuchMethodError`](/guide/faq.html) 的异常, -> 当然,这个问题在之前也会有,几率可能低一些,所以多模块下,务必配置 `adapterPackage` 来避免该问题。 -> - Map 与对象的转换,还是依赖 hutool 中的类转换实现,如果需要该功能,需要额外引入 `hutool-core` 依赖包。 - …… ## 代码仓库 diff --git a/docs/en/README.md b/docs/en/README.md index d3063e7..c0fe885 100644 --- a/docs/en/README.md +++ b/docs/en/README.md @@ -58,18 +58,23 @@ fotter: io.github.linpeilie mapstruct-plus-spring-boot-starter - 1.4.6 + 1.4.7 ``` - gradle ```groovy -implementation group: 'io.github.linpeilie', name: 'mapstruct-plus-spring-boot-starter', version: '1.4.6' +implementation group: 'io.github.linpeilie', name: 'mapstruct-plus-spring-boot-starter', version: '1.4.7' ``` ## Change Log +### 1.4.7 + +- Fixed the issue where the generated conversion implementation class conflicted when using the default `Eclipse jdt.core` environment in Vscode; +- Repackaged `javapoet` to prevent conflicts with other projects. + ### 1.4.6 - Modify the `SpringContextUtils` class name to prevent conflicts with other project class names; @@ -91,42 +96,6 @@ implementation group: 'io.github.linpeilie', name: 'mapstruct-plus-spring-boot-s - **fix**: Fixed the issue where the default configuration for `unmappedTargetPolicy` was not effective. - **enhance**: Optimized IDEA local development build efficiency, reducing build time and metaspace usage to some extent.[Issue #89](https://github.com/linpeilie/mapstruct-plus/issues/89) -### 1.4.2 - -- **feat**: Added the `mapperNameSuffix` attribute to the `AutoMapper` annotation. This supports adding a suffix to the generated conversion interface name, and the reverse conversion interface will be effective under the default rules. -- **feat**: Adapted the `Mapper` annotation to support the following attributes: `unmappedSourcePolicy`, `unmappedTargetPolicy`, `typeConversionPolicy`, `collectionMappingStrategy`, `nullValueMappingStrategy`, `nullValueIterableMappingStrategy`, `nullValuePropertyMappingStrategy`, `nullValueCheckStrategy`, and `mappingControl`. -- **feat**: Adapted the `Mapping` annotation to support the following attributes: `constant`, `qualifiedBy`, `nullValueCheckStrategy`, `nullValuePropertyMappingStrategy`, and `mappingControl`. -- **feat**: Adapted MapStruct configuration to support the following attributes: `typeConversionPolicy`, `collectionMappingStrategy`, `nullValueIterableMappingStrategy`, `nullValueMapMappingStrategy`, `nullValueCheckStrategy`, `mappingControl`, `unexpectedValueMappingException`, and `suppressTimestampInGenerated`. -- **fix**: Resolved the issue of class name conflicts generated in different packages within the same module. -- **feat**: Added the `reverseConvertGenerate` attribute to the `AutoMapping` annotation to control whether to generate reverse conversion logic, adapting to more complex application scenarios. -- **fix**: Fixed the issue of conversion rule conflicts when both parent and child classes are configured in `targetClass`. -- **fix**: Resolved class name conflicts of configuration classes and proxy classes in different modules. -- **feat**: Added the `useEnums` attribute to `AutoMapper`, supporting manual configuration of required enums for conversion, solving the issue of automatic conversion of enums across modules. -- Optimized the logic for generating conversion interfaces. - -### 1.4.0 - -- **Optimize complex object conversion logic, take up less meta-space! and faster!** -- Get rid of dependencies such as hutool, which currently only rely on MapStruct in the project. -- The adaptation object loop nesting scenario -- [feature#63](https://github.com/linpeilie/mapstruct-plus/pull/63) `AutoMapping`、`ReverseAutoMapping` supports `qualifiedByName`,`conditionQualifiedByName`,and `dependsOn` properties. -- [issue#I93Z2Z](https://gitee.com/easii/mapstruct-plus/issues/I93Z2Z) `AutoMappings` supports configuration on methods. - -> Points to note for upgrading 1.4.0 -> - 1.4.0 and later versions, complex object comparisons reply on `ConvertMapperAdapter` generated in the project, - which may cause [`NoSuchMethodError`](/guide/faq.html) exceptions under multiple modules because the Class Loading mechanism - will load only one, of course, this problem has been around before, and the odds are probably lower, - so be sure to configure the `adapterPackage` to avoid this problem with multiple modules. -> - Map to object conversions still rely on class conversions in hutool, and additional `hutool-core` dependencies need to be introduced if this - functionality is required. - -### 1.3.6 - -- Compatible with internal class conversion. -- The targetClass in the AutoMapping annotation supports configuring the parent class. -- AutoMapperConfig and AutoMapMapperConfig package and class name generated automatically by the framework support configuration. -- Supports AutoMapping annotations configured in the parent class. - …… ## Code Warehouse diff --git a/docs/en/release/log.md b/docs/en/release/log.md index d7b0a78..d8408de 100644 --- a/docs/en/release/log.md +++ b/docs/en/release/log.md @@ -6,6 +6,11 @@ category: description: MapStructPlus release log --- +### 1.4.7 + +- Fixed the issue where the generated conversion implementation class conflicted when using the default `Eclipse jdt.core` environment in Vscode; +- Repackaged `javapoet` to prevent conflicts with other projects. + ### 1.4.6 - Modify the `SpringContextUtils` class name to prevent conflicts with other project class names; diff --git a/docs/release/log.md b/docs/release/log.md index 4ca52a4..cea27d5 100644 --- a/docs/release/log.md +++ b/docs/release/log.md @@ -6,6 +6,11 @@ category: description: MapStructPlus release log --- +### 1.4.7 + +- 修复在 Vscode 软件中,默认使用 Eclipse jdt.core 环境下,生成的转换实现类冲突的问题; +- 重新打包 javapoet,防止与其他项目冲突; + ### 1.4.6 - 修改 `SpringContextUtils` 类名,防止与其他项目类名冲突;