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

我要开发同款
匿名用户2019年10月29日
63阅读

技术信息

开源地址
https://gitee.com/xkzhangsan/xkbeancomparator
授权协议
Apache

作品详情

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

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

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

( https://github.com/xkzhagsa/xkbeacomparator-samples )

(1)添加pom依赖

<depedecy><groupId>com.github.xkzhagsa</groupId><artifactId>xkbeacomparator</artifactId><versio>0.0.1</versio></depedecy>

(2)增加辅助日志类

UserLogimportjava.util.HashMap;importjava.util.Map;importcom.xkzhagsa.xkbeacomparator.BeaComparator;importcom.xkzhagsa.xkbeacomparator.CompareResult;publicclassUserLog{privatestaticfialMap<Strig,Strig>propertyTraslatioMap=ewHashMap<>();static{propertyTraslatioMap.put("ame","用户名");propertyTraslatioMap.put("poit","积分");}publicstaticCompareResultgetCompareResult(Objectsource,Objecttarget){returBeaComparator.getCompareResult(source,target,propertyTraslatioMap);}}

(3)使用

@Testpublicvoidtest1(){Useru1=ewUser();u1.setId(1);u1.setName("aa");u1.setPoit(ewBigDecimal("111111111111.12"));Useru2=ewUser();u2.setId(1);u2.setName("aa2");u2.setPoit(ewBigDecimal("111111111111.15"));CompareResultcompareResult=UserLog.getCompareResult(u1,u2);if(compareResult.isChaged()){System.out.pritl(compareResult.getChageCotet());}}

(4)说明

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

功能介绍

xkbeancomparator 是一个 java bean 对比修改并输出差异的工具。 适用场景:用户编辑提交时,需要记录修改内容,修改前后的值对比,生成操作记录;可以选择记录的字段和字段说明...

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

评论