Could not copy properties from source to target;nested exception is java.lang.reflect.InvocationTargetException
在使用BeanUtils.copyProperties(model,target)对属性进行拷贝时,如果javaBean中的属性有基本类型,而model模型中对应的属性值为 null 的话,就会出现这个异常。
解决方法:
javaBean中的属性值不要使用基本类型。
这个问题其实是由该框架内部实现方法导致的,查看该方法的核心代码:
可以看到,其内部先通过反射的方法调用源对象的getter方法,取出源对象中各个属性的值付给Object对象value,
再通过反射方法调用目标对象的setter方法将value对象付给目标对象的相应属性。
可以想象到的是,如果源对象中某个属性值是空的话,那么value值也将为null,传给目标对象的对应属性的值也就是null。
所以,如果恰好该属性是基本类型的话,给一个基本类型赋值null,肯定会抛异常了!