具备matlab
编程语言进行科学计算和算法试验的基础,学习利用 java
语言进行项目的开发,记录过程中的一些问题。
- 利用
BeanUtils.copyProperty
方法进行对象的复制(非引用)时,提示异常:
org.springframework.beans.FatalBeanException: Could not copy property “xxx” from source to target; nested exception is java.lang.reflect.InvocationTargetException
解决过程:查看成员变量xxx
的set方法,发现xxx
的set方法中需要用到其他成员变量进行switch判断,推测BeanUtils.copyProperty
方法复制成员变量是类似并行的,因为本身java中成员变量声明就是无所谓顺序的,所以在setxxx
时缺少其他成员变量的值,但是单步调试时程序并不会进到set方法中,也就不容易发现这个问题。
解决方法
在BeanUtils.copyProperty
方法前先手动把需要的成员变量从source复制到target中,虽然很笨,但是有效。