A对象和B对象有很多一样的属性,想把B中查询出来的对象复制到A中,第一想到的是下面这种方法:
A a = new A();
B b = bDao.find(查询条件);
a.setName(b.getName());
a.setAge(b.getAge());
...
但属性太多了,这样写起来一点不美观,查了一下,用BeanUtils
import org.springframework.beans.BeanUtils;
A a = new A();
B b = bDao.find();
//对了,这里要注意判空,null值不能进行复制,会报错的
if(b != null){
BeanUtils.copyProperties(b,a);
}
注意,这里引入的是spring的BeanUtils类,调用的是其中的copyProperties方法,注意一下a和b的位置,前面一个是被复制的对象,后面一个是要复制的对象,得到a。
BeanUtils类还有在apache包下的:
参考博客:https://www.cnblogs.com/syncmr/p/10523576.html
这里面讲了BeanUtils类的一些操作,注意其中一点不一样的是,跟spring包下的BeanUtils类的copyProperties方法中复制javaBean对象的位置是反过来的,