perf: 优化转换工具类性能

pull/22/head
Parker 3 years ago
parent 71e0f5f694
commit d013a293e3

@ -15,9 +15,9 @@
*/
package org.opsli.common.utils;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.extra.cglib.CglibUtil;
import com.google.common.collect.Lists;
import lombok.extern.slf4j.Slf4j;
@ -75,12 +75,12 @@ public final class WrapperUtil {
}
if(isClone){
source = ObjectUtil.cloneByStream(source);
source = ObjectUtil.cloneIfPossible(source);
}
M m = null;
try {
m = BeanUtil.copyProperties(source, target);
m = CglibUtil.copy(source, target);
}catch (Exception e){
log.error(e.getMessage(),e);
}
@ -101,13 +101,11 @@ public final class WrapperUtil {
return Lists.newArrayList();
}
if(isClone){
source = ObjectUtil.cloneByStream(source);
}
List<M> toInstanceList = Lists.newArrayList();
try {
toInstanceList = source.stream().map((s) -> transformInstance(s, target, true)).collect(Collectors.toList());
toInstanceList = source.stream()
.map((s) -> transformInstance(s, target, isClone))
.collect(Collectors.toList());
}catch (Exception e){
log.error(e.getMessage(),e);
}

@ -93,6 +93,7 @@
<protobuf-java.version>3.18.2</protobuf-java.version>
<beanutils.version>1.9.4</beanutils.version>
<transmittable.version>2.12.5</transmittable.version>
<cglib.version>3.3.0</cglib.version>
<!-- 需要使用着两个版本 来引入对应的模块和插件 -->
<!-- API版本 -->
@ -146,6 +147,13 @@
<version>${captcha.version}</version>
</dependency>
<dependency>
<groupId>cglib</groupId>
<artifactId>cglib</artifactId>
<version>${cglib.version}</version>
<scope>compile</scope>
</dependency>
<!-- JWT -->
<dependency>
<groupId>com.auth0</groupId>
@ -350,6 +358,13 @@
<version>${hutool.version}</version>
</dependency>
<dependency>
<groupId>cglib</groupId>
<artifactId>cglib</artifactId>
<version>${cglib.version}</version>
<scope>compile</scope>
</dependency>
<!-- 修复 Cxa9261daf-3755 -->
<!-- 国密算法包 -->
<dependency>

Loading…
Cancel
Save