针对项目中出现的BeanUtils.copyProperties(A,B)经常会出现前后赋值顺序不一致的情况,后来查询才知道其中的区别。
BeanUtils提供对Java反省和自省API的包装。主要目的是利用反射机制对JavaBean的属性进行处理。由于一个JavaBean通常会包含较多属性,很多情况下需要对JavaBean进行处理导致大量get/set代码堆积,增加了代码长度和阅读代码的难度。
于是BeanUtils.copyProperties(A,B)提供了JavaBean之间的属性复制。当然这个方法值对于相同属性之间的复制,当两个实体中存在不同属性时,BeanUtils无法对其进行处理,需程序员使用的set()方法进行处理。目前有两套BeanUtils的jar可以进行复制操作,但是用法不太一样:
① package org.springframework.beans;
BeanUtils.copyProperties(A,B) --> 是将A中的值赋值给B
② package org.apache.commons.beanutils;(常用)
BeanUtils.copyProperties(A,B) --> 是将B中的值赋值给A
BeanUtils.copyProperties(A,B)针对ArrayList的copy
原文链接 https://blog.csdn.net/qqxyy99/article/details/80475353