BeanUtils.copyProperties:
作用:
代码量大大的减少,整体程序简洁明朗
介绍:
如果你有两个具有很多相同属性的JavaBean,一个常见的情况就是有一个用户登陆界面,获取用户界面上面的数据为userForm,
要去数据表里查用户信息是否符合,则就要从userForm里构造一个po对象去查询,传统的方式是对每个属性逐个set
// 1、获取表单的用户信息
UserForm userForm = getUserInfo()
// 2、 构造一个po对象,属性逐一赋值
User u = new User();
u.setName(userForm.getName());
u.setPassword(userForm.getPassword());
u.setAge(userForm.getAge());
....
// 3、拿 u 去进行数据查询
通过这样的方法,当po对象的属性有100,200个尼,到时候就得get,set半天了,耗时耗力不讨好,而使用了BeanUtils.copyProperties() 方法以后,代码量会大大的减少。
// 1、获取表单的用户信息
UserForm userForm = getUserInfo()
// 2、 构造一个po对象,直接赋值
User u = new User();
BeanUtils.copyProperties(userForm , u );
....
// 3、拿 u 去进行数据查询
总结
1、Spring的BeanUtils的CopyProperties方法需要对应的属性有getter和setter方法;(userForm要有get和set方法,u要有set方法)
2.如果存在属性完全相同的内部类,但是不是同一个内部类,即分别属于各自的内部类,则spring会认为属性不同,不会copy;