
org.smallframework.spring.util.BeanCopierUtils Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of sorm Show documentation
Show all versions of sorm Show documentation
java jpa tool for spring
The newest version!
package org.smallframework.spring.util;
import org.springframework.cglib.beans.BeanCopier;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
/**
* spring cglib copy方法
*/
public class BeanCopierUtils {
public static Map beanCopierMap = new ConcurrentHashMap<>();
/**
* 使用Copier进行拷贝,增加拷贝效率;注意此方法拷贝会将所有属性遍历一遍(包含null的属性也会拷贝一次)
* 默认BeanCopier只会做同名,同类型属性的copier,否则就会报错.
* 注意对于集合类型最好单独处理.
* @param source
* @param target
* @param
* @param
*/
public static void copyProperties(T source, I target) {
String beanKey = generateKey(source.getClass(), target.getClass());
BeanCopier copier = beanCopierMap.get(beanKey);
if (copier == null) {
copier = BeanCopier.create(source.getClass(), target.getClass(), false);
beanCopierMap.put(beanKey, copier);
}
copier.copy(source, target, null);
}
private static String generateKey(Class> aClass, Class> aClass1) {
return aClass.toString() + aClass1.toString();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy