BeanUtils的copyProperties的效率问题实际上来说应该是反射的效率问题,不过copyProperties方法里面的那些判断也带来了一些效率问题,下面来测试一下copyProperties的效率问题。
首先建一个类User,代表一个用户,有用户名和密码属性,代码如下:
public class User {建一个类,名为AbstractService,代码如下:
public abstract class AbstractService {
public static int userCount = 100000;
public User srcUsers[] = new User[userCount];
public User destUsers[] = new User[userCount];
public AbstractService() {
for (int i = 0; i < userCount; i++) {
User user = new User();
user.setName("" + i);
user.setPassword("" + i);
srcUsers[i]=user;
User user1 = new User();
destUsers[i]=user1;
}
}
public abstract void process() throws Throwable;
public long service() throws Throwable{
long beginTime = System.currentTimeMillis();
process();
long endTime = System.currentTimeMillis();
return endTime - beginTime;
}
}
建立一类BeanUtilsService,代码如下:
import java.lang.reflect.InvocationTargetException;
import org.apache.commons.beanutils.BeanUtils;
public class BeanUtilsService extends AbstractService {
@Override
public void process() throws IllegalAccessException,
SpringBoot测试配置属性与web启动环境解析
vue中将el-switch值true、false改为number类型的1和0解析
Vue中的路由配置项meta使用解读
SpringBoot自定义bean绑定解析
SpringBoot常用计量与bean属性校验和进制数据转换规则解析
工厂方法在Spring框架中的运用介绍