首页>>后端>>SpringBoot->SpringBoot项目下的对象属性复制工具类

SpringBoot项目下的对象属性复制工具类

时间:2023-11-29 本站 点击:0

背景

其实不止是SpringBoot项目,其余的很多类型的项目,也都会存在对象复制的相关需求,所以,我们一般都会通过一个工具类来解决这类的需求。

解决方案和相应的工具类

首先我们要确定一件事情,那就是是否是相同属性的对象进行复制,如我们项目中的PO类,和VO类,就是会经常会存在互转的情况。

我们先来看一下相应的工具类吧,这也是我项目正在使用的工具类了。

publicclassCopyUtil{/***多个实体的复制*@paramsource*@paramclazz*@param<T>*@return*/publicstatic<T>List<T>copyList(Listsource,Class<T>clazz){List<T>target=newArrayList<>();if(!CollectionUtils.isEmpty(source)){for(Objectc:source){Tobj=copy(c,clazz);target.add(obj);}}returntarget;}/***单个实体之间的复制*@paramsource*@paramclazz*@param<T>*@return*/publicstatic<T>Tcopy(Objectsource,Class<T>clazz){if(source==null){returnnull;}Tobj=null;try{obj=clazz.newInstance();}catch(Exceptione){e.printStackTrace();}BeanUtils.copyProperties(source,obj);returnobj;}}

这里需要注意一点,复制转换属性,不是直接克隆对象,复制工具类是在两个不同的类型的对象之间进行属性值的复制。

而克隆对象又是另外一种情况,是同样类型对象下的直接克隆,下一篇我们再来说一下克隆的相关工具类。

通过上述复制工具类,我们就可以通过相应的代码调用就可以正常使用了,我也写个示例代码吧,如下:

DemoAdemoA=CopyUtils.copy(demoB,DemoB.class);


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:/SpringBoot/411.html