BeanUtils与PropertyUtils区别
相同的: 都是浅拷贝,都提供了copyProperties()方法,只要属性名相同
就可以从源bean中拷贝值到目标bean中
不同点: BeanUtils.copyProperties提供类型转换功能
,BeanUtils会调用默认的转换器(Converter)进行类型转换,所以在拷贝时能对八个基本类型间进行转换,不能转换时抛出错误
PropertyUtils.copyProperties不提供类型转换功能
,即发现两个JavaBean的同名属性为不同类型时,会提示argument mistype异常。
**
<dependency>
<groupId>commons-beanutils</groupId>
<artifactId>commons-beanutils</artifactId>
<version>1.9.4</version>
</dependency>
谨慎使用这个copyproperties这个功能,相同的属性都会被替换,不管是否有值
map和实体间拷贝
User user3 = new User();
Map<String,Object> map = new HashMap<String, Object>();
map.put("name", "王五");
map.put("age", 25);
PropertyUtils.copyProperties(user3, map);
System.out.println(user3);//User [name=王五, age=25]