xkbeancomparator Java bean 对比修改并输出差异的工具开源项目

我要开发同款
匿名用户2019年10月29日
36阅读
开发技术Java
所属分类程序开发、常用工具包
授权协议Apache

作品详情

xkbeancomparator是一个javabean对比修改并输出差异的工具。

适用场景:用户编辑提交时,需要记录修改内容,修改前后的值对比,生成操作记录;可以选择记录的字段和字段说明,自定义操作记录。

0.依赖dependency:<dependency><groupId>com.github.xkzhangsan</groupId><artifactId>xkbeancomparator</artifactId><version>0.0.1</version></dependency>1.常见用处:对修改过的对象进行对比生成修改日志;对比部分字段修改,根据字段注释输出日志。2.主要功能类和用法:主要类名称:BeanComparator.java主要方法为:publicstaticStringcompareBean(Objectsource,Objecttarget)publicstaticCompareResultgetCompareResult(Objectsource,Objecttarget)3实例xkbeancomparator-samples

( https://github.com/xkzhangsan/xkbeancomparator-samples )

(1)添加pom依赖

<dependency><groupId>com.github.xkzhangsan</groupId><artifactId>xkbeancomparator</artifactId><version>0.0.1</version></dependency>

(2)增加辅助日志类

UserLogimportjava.util.HashMap;importjava.util.Map;importcom.xkzhangsan.xkbeancomparator.BeanComparator;importcom.xkzhangsan.xkbeancomparator.CompareResult;publicclassUserLog{privatestaticfinalMap<String,String>propertyTranslationMap=newHashMap<>();static{propertyTranslationMap.put("name","用户名");propertyTranslationMap.put("point","积分");}publicstaticCompareResultgetCompareResult(Objectsource,Objecttarget){returnBeanComparator.getCompareResult(source,target,propertyTranslationMap);}}

(3)使用

@Testpublicvoidtest1(){Useru1=newUser();u1.setId(1);u1.setName("aa");u1.setPoint(newBigDecimal("111111111111.12"));Useru2=newUser();u2.setId(1);u2.setName("aa2");u2.setPoint(newBigDecimal("111111111111.15"));CompareResultcompareResult=UserLog.getCompareResult(u1,u2);if(compareResult.isChanged()){System.out.println(compareResult.getChangeContent());}}

(4)说明

上面是推荐用法,使用辅助日志类UserLog能统一维护一个javabean的注释map说明,简化调用。 其中日期格式为:"yyyy-MM-ddHH

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论