域名问题网站不更新,wordpress 4.3.18漏洞,网站采集来源,网站建设万禾常见场景
我们如果有两个具有很多相同属性名的JavaBean对象a和b#xff0c;想把a中的属性赋值到b#xff0c;例如
接口中将接收到的前端请求参数XxxReqVo,我们想把这个入参转化为XxxQuery对象作为数据库的查询条件对象
传统做法是手动set#xff0c;即
XxxQuery xxxQuer…常见场景
我们如果有两个具有很多相同属性名的JavaBean对象a和b想把a中的属性赋值到b例如
接口中将接收到的前端请求参数XxxReqVo,我们想把这个入参转化为XxxQuery对象作为数据库的查询条件对象
传统做法是手动set即
XxxQuery xxxQuery new XxxQuery();
xxxQuery .setAxx(xxxReqVo.getAxx());
xxxQuery .setBxx(xxxReqVo.getBxx());
xxxQuery .setCxx(xxxReqVo.getCxx());
如果有几十个需要赋值的的字段呢那就很头疼了
org.springframework.beans.BeanUtils它提供了对java反射和自省API的包装。它里面还有很多工具类这里我们介绍一下该类下面的copyProperties方法,该工具方法可以帮我们大大简化这一步
Data
public class User {private String id;private String name;private String age;private String account;private String password;
}
Data
public class Person {private String id;private String name;private String age;private String sex;
}public class Test {public static void main(String[] args) {User user new User();user.setId(1);user.setAge(2);user.setName(wzh);user.setAccount(wangzh);user.setPassword(1111);Person person new Person();BeanUtils.copyProperties(user,person);}
}结果
Person(id1, namewzh, age2, sexnull)通过上述测试我们就可以总结出相关结论基本用法为
BeanUtils.copyProperties(source,target);相当于把源对象source的属性值赋给目标对象target中与源对象source的中有着同属性名的属性如上述案例中Person作为目标对象与源对象User中有着共同的同名属性id,name,age,所以person中的这三个字段被赋值成功赋值的数据来源正是user对象sex这个字段是Person类所特有的所以不会被赋值同时还要特别注意赋值操作相关类的属性一定要有对应的setter/getter即 源对象source的属性拷贝值赋给目标对象target的过程中,属性名和属性类型都相同的属性才能被成功拷贝赋值例如id,name,age这三个目标对象的属性被赋值成功目标对象中的sex属性由于源对象中没有同名的属性所以没法被赋值成功。 做赋值的属性一定要有对应的setter/getter才能成功赋值