使用BeanUtils.copyProperties()时,抛出异常“java.lang.IllegalArgumentException: No destination bean specifie”

前言:

最近小编正在做一个功能,需要将一个实体复制给重新定义的相同实体的时候,使用BeanUtils.copyProperties(source, target)时,一直抛异常,控制台也没有打印出来,很是苦恼,不知道是哪里出问题了,于是百度了一下说属性里面存在空值,然后就尝试了所以使用各种办法始终没有解决。于是采用try..catch ,抓住了这个异常。今天分享给大家。

内容:

一、Java复制有好几种方法:

1、BeanUtils.copyProperties(source, target)

source 为源,target为目标,将源的值复制给目标。下面同理。

2、PropertyUtils.copyProperties(target,source);

二、问题:“java.lang.IllegalArgumentException:  No destination bean specifie”

这句话的意思是:目标bean 不规范。

也就是说我定义的目标target( redsaleSettleVo)不规范。

(1)我原来的:

saleSettleVo   redsaleSettleVo =null;
saleSettleVo   saleSettleVo1 = saleSettleService.getSaleSettleById(vo.getId());
BeanUtils.copyProperties(saleSettleVo1,redsaleSettleVo);

(2)现在的:

saleSettleVo   redsaleSettleVo =new saleSettleVo();
saleSettleVo   saleSettleVo1 = saleSettleService.getSaleSettleById(vo.getId());
                      
//将saleSettleVo1的值复制给redsaleSettleVo

BeanUtils.copyProperties(saleSettleVo1,redsaleSettleVo);

(3)之所以一直都抛异常,是因为没有重新实例化saleSettleVo。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值