mirror of
https://gitee.com/easii/mapstruct-plus.git
synced 2025-12-06 17:18:43 +08:00
增加1.4.7更新日志
This commit is contained in:
parent
4c5524dcce
commit
7aa92f07e5
@ -192,7 +192,7 @@ public class User {
|
|||||||
|
|
||||||
```xml
|
```xml
|
||||||
<properties>
|
<properties>
|
||||||
<mapstruct-plus.version>1.4.6</mapstruct-plus.version>
|
<mapstruct-plus.version>1.4.7</mapstruct-plus.version>
|
||||||
</properties>
|
</properties>
|
||||||
<dependencies>
|
<dependencies>
|
||||||
<dependency>
|
<dependency>
|
||||||
|
|||||||
@ -61,18 +61,23 @@ footer:
|
|||||||
<dependency>
|
<dependency>
|
||||||
<groupId>io.github.linpeilie</groupId>
|
<groupId>io.github.linpeilie</groupId>
|
||||||
<artifactId>mapstruct-plus-spring-boot-starter</artifactId>
|
<artifactId>mapstruct-plus-spring-boot-starter</artifactId>
|
||||||
<version>1.4.6</version>
|
<version>1.4.7</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
```
|
```
|
||||||
|
|
||||||
- gradle
|
- gradle
|
||||||
|
|
||||||
```groovy
|
```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
|
### 1.4.6
|
||||||
|
|
||||||
- 修改 `SpringContextUtils` 类名,防止与其他项目类名冲突;
|
- 修改 `SpringContextUtils` 类名,防止与其他项目类名冲突;
|
||||||
@ -87,39 +92,6 @@ implementation group: 'io.github.linpeilie', name: 'mapstruct-plus-spring-boot-s
|
|||||||
|
|
||||||
- fix: 修复部分Spring版本下找不到类的问题
|
- 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` 依赖包。
|
|
||||||
|
|
||||||
……
|
……
|
||||||
|
|
||||||
## 代码仓库
|
## 代码仓库
|
||||||
|
|||||||
@ -58,18 +58,23 @@ fotter:
|
|||||||
<dependency>
|
<dependency>
|
||||||
<groupId>io.github.linpeilie</groupId>
|
<groupId>io.github.linpeilie</groupId>
|
||||||
<artifactId>mapstruct-plus-spring-boot-starter</artifactId>
|
<artifactId>mapstruct-plus-spring-boot-starter</artifactId>
|
||||||
<version>1.4.6</version>
|
<version>1.4.7</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
```
|
```
|
||||||
|
|
||||||
- gradle
|
- gradle
|
||||||
|
|
||||||
```groovy
|
```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
|
## 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
|
### 1.4.6
|
||||||
|
|
||||||
- Modify the `SpringContextUtils` class name to prevent conflicts with other project class names;
|
- 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.
|
- **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)
|
- **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
|
## Code Warehouse
|
||||||
|
|||||||
@ -6,6 +6,11 @@ category:
|
|||||||
description: MapStructPlus release log
|
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
|
### 1.4.6
|
||||||
|
|
||||||
- Modify the `SpringContextUtils` class name to prevent conflicts with other project class names;
|
- Modify the `SpringContextUtils` class name to prevent conflicts with other project class names;
|
||||||
|
|||||||
@ -6,6 +6,11 @@ category:
|
|||||||
description: MapStructPlus release log
|
description: MapStructPlus release log
|
||||||
---
|
---
|
||||||
|
|
||||||
|
### 1.4.7
|
||||||
|
|
||||||
|
- 修复在 Vscode 软件中,默认使用 Eclipse jdt.core 环境下,生成的转换实现类冲突的问题;
|
||||||
|
- 重新打包 javapoet,防止与其他项目冲突;
|
||||||
|
|
||||||
### 1.4.6
|
### 1.4.6
|
||||||
|
|
||||||
- 修改 `SpringContextUtils` 类名,防止与其他项目类名冲突;
|
- 修改 `SpringContextUtils` 类名,防止与其他项目类名冲突;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user