org.springframework.beans.FatalBeanException: Could not copy properties from source to target; neste

在这里插入图片描述
Could not copy properties from source to target

  1. 可能原因 源目标为null
    参考文献:https://blog.youkuaiyun.com/rchm8519/article/details/7101911?biz_id=102

  2. 源目标与目标bean 属性类型不一致

解决方案:
直接修改属性类型 会导致代码以依赖过多,容易出错; 可以使参考一下方法:在这里插入图片描述
String[] ignoreProperties 参数含义: 复制bean时对数组内的属性进行过滤;

过滤后 , 只需要复制完bean之后对该属性进行手动 set 值即可

此异常一般在使用 Spring 的 `BeanUtils.copyProperties()` 方法时出现,意味着无法将 `investType` 属性从源对象复制到目标对象,且嵌套了 `java.lang.IllegalArgumentException` 异常。下面是一些可能的解决办法: ### 检查属性类型是否匹配 源对象和目标对象的 `investType` 属性类型需一致。若类型不匹配,就会抛出 `IllegalArgumentException` 异常。例如,源对象的 `investType` 是 `Integer` 类型,而目标对象的 `investType` 是 `String` 类型,此时就会报错。要保证源对象和目标对象的 `investType` 属性类型相同。 ### 检查属性是否存在 要确保源对象和目标对象都存在 `investType` 属性。若其中一个对象不存在该属性,`BeanUtils.copyProperties()` 方法就无法复制该属性,进而抛出异常。 ### 检查 getter 和 setter 方法 `BeanUtils.copyProperties()` 方法依赖对象的 getter 和 setter 方法来复制属性。要保证源对象有 `getInvestType()` 方法,目标对象有 `setInvestType()` 方法。示例代码如下: ```java public class SourceObject { private String investType; public String getInvestType() { return investType; } public void setInvestType(String investType) { this.investType = investType; } } public class TargetObject { private String investType; public String getInvestType() { return investType; } public void setInvestType(String investType) { this.investType = investType; } } ``` ### 手动复制属性 若 `BeanUtils.copyProperties()` 方法无法正常工作,可手动复制 `investType` 属性: ```java SourceObject source = new SourceObject(); TargetObject target = new TargetObject(); target.setInvestType(source.getInvestType()); ``` ### 检查 Spring 版本兼容性 确保项目中使用的 Spring 相关依赖版本兼容。有时候版本不兼容也会引发此类异常。可参考引用 [5],修改相关 Spring 依赖的版本,保证它们一致。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值