BeanUtils与PropertyUtils区别

相同的: 都是浅拷贝,都提供了copyProperties()方法,只要属性名相同就可以从源bean中拷贝值到目标bean中
不同点: BeanUtils.copyProperties提供类型转换功能,BeanUtils会调用默认的转换器(Converter)进行类型转换,所以在拷贝时能对八个基本类型间进行转换,不能转换时抛出错误
PropertyUtils.copyProperties不提供类型转换功能,即发现两个JavaBean的同名属性为不同类型时,会提示argument mistype异常。
**

  1. <dependency>
  2. <groupId>commons-beanutils</groupId>
  3. <artifactId>commons-beanutils</artifactId>
  4. <version>1.9.4</version>
  5. </dependency>


谨慎使用这个copyproperties这个功能,相同的属性都会被替换,不管是否有值

map和实体间拷贝

  1. User user3 = new User();
  2. Map<String,Object> map = new HashMap<String, Object>();
  3. map.put("name", "王五");
  4. map.put("age", 25);
  5. PropertyUtils.copyProperties(user3, map);
  6. System.out.println(user3);//User [name=王五, age=25]