beanutils.copyproperties
1:以下两个不同的包都存在BeanUitls.copyProperties方法
org.Springframework.beans.beanutils.copyproperties(Object source, Object target) throws BeansException
org.apache.commons.beanutils.BeanUtils.copyProperties(Object dest, Object orig)throws IllegalAccessException, InvocationTargetException
2:测试属性名相同类型不同的两个类,执行BeanUtils.copyProperties方法
调用org.springframework.beans.BeanUtils.copyProperties,如果source与target中存在属性名相同类型不同的情况,则target中对应的属性值为null
调用org.apache.commons.beanutils.BeanUtils.copyProperties,如果dest与orig中存在属性名相同类型不同的情况,则会抛出illegalargumentException异常
public class WoType {
private Long id;
private String name;
private WoType parent;
@Override
public String toString() {
return "WoType [id=" + id + ", name=" + name + ", Parent=" + Parent + "]";
}
}
public class WoTypeVo {
private Long id;
private String name;
private WoTypeVo Parent;
@Override
public String toString() {
return "WoTypeVo [id=" + id + ", name=" + name + ", Parent=" + Parent + "]";
}
}
初始化WoType对象
@Before
public void before() {
woType=new WoType();
woType.setId(100L);
woType.setName("收货地址错误");
//封装parent
WoType parent=new WoType();
parent.setId(101L);
parent.setName("快递问题");
woType.setParent(parent);
}
测试org.springframework.beans.BeanUtils.copyProperties:
@Test
public void testSpringBeanUtils() {
WoTypeVo woTypeVo=new WoTypeVo();
org.springframework.beans.BeanUtils.copyProperties(woType, woTypeVo);
System.out.println(woType.toString()+" "+woTypeVo.toString());
}
结论:WoType [id=100, name=收货地址错误, Parent=WoType [id=101, name=快递问题, Parent=null]] WoTypeVo [id=100, name=收货地址错误, Parent=null]
测试org.apache.commons.beanutils.BeanUtils.copyProperties:
@Test
public void testApacheBeanUtils() {
WoTypeVo woTypeVo=new WoTypeVo();
try {
org.apache.commons.beanutils.BeanUtils.copyProperties(woTypeVo, woType);
} catch (IllegalAccessException | InvocationTargetException e) {
e.printstacktrace();
}
System.out.println(woType.toString()+" "+woTypeVo.toString());
}
结论:抛出IllegalArgumentException异常
相关阅读
除了网上提到的众多原因,这里提到的是另一种情况,也会有以下提示产生。 该情况下代码无问题,原因是提示有问题的代码句或段在整段代
封装: 1.封装是面向对象编程的一大特点 2.面向对象编程的第一步,将属性和方法封装到一个抽象的类中(抽象是因为类不能被直接使用) 3.
博客园首页新随笔联系管理订阅随笔- 92 文章- 0 评论- 222 Java Web(五) JSP详解(四大作用域九大内置对象等) 前面讲解了
在自己的站点上写了些文章,有些文章想要分享给朋友或者朋友圈等等地方,没有分享功能只能贴网址似乎很不友好,如果通过分享按钮分享的
有时候我们需要对幻灯片复制,但是不止一张,如果手工去复制粘贴恐怕太麻烦了,怎么批量复制呢?很简单下面一起看看如何批量复制幻灯片!