真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

如何使用xkbeancomparator對比javabean生成操作記錄

本篇內(nèi)容主要講解“如何使用xkbeancomparator對比javabean生成操作記錄”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“如何使用xkbeancomparator對比javabean生成操作記錄”吧!

成都創(chuàng)新互聯(lián)公司成都網(wǎng)站建設(shè)按需設(shè)計網(wǎng)站,是成都網(wǎng)站制作公司,為圍欄護(hù)欄提供網(wǎng)站建設(shè)服務(wù),有成熟的網(wǎng)站定制合作流程,提供網(wǎng)站定制設(shè)計服務(wù):原型圖制作、網(wǎng)站創(chuàng)意設(shè)計、前端HTML5制作、后臺程序開發(fā)等。成都網(wǎng)站設(shè)計熱線:18982081108

xkbeancomparator 是一個 java bean 對比修改并輸出差異的工具。github地址

適用場景:用戶編輯提交時,需要記錄修改內(nèi)容,修改前后的值對比,生成操作記錄;可以選擇記錄的字段和字段說明,自定義操作記錄。

特點:

jdk 1.7+

不依賴第三方j(luò)ar,大小非常小

使用反射,調(diào)用get方法對比字段值。

使用實例:xkbeancomparator-samples

(1)添加pom依賴

  
  com.github.xkzhangsan    
  xkbeancomparator       
  0.0.1    

(2)java bean類 User

如何使用xkbeancomparator對比javabean生成操作記錄

import java.math.BigDecimal;

public class User {
    Integer id;
    String name;
    private BigDecimal point;
    public Integer getId() {
        return id;
    }
    public void setId(Integer id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public BigDecimal getPoint() {
        return point;
    }
    public void setPoint(BigDecimal point) {
        this.point = point;
    }
    

}

復(fù)制代碼

(3)增加輔助日志類 UserLog

import java.util.HashMap;
import java.util.Map;

import com.xkzhangsan.xkbeancomparator.BeanComparator;
import com.xkzhangsan.xkbeancomparator.CompareResult;

public class UserLog{

private static final Map propertyTranslationMap = new HashMap<>();

static {
	propertyTranslationMap.put("name", "用戶名");
	propertyTranslationMap.put("point", "積分");
}

public static CompareResult getCompareResult(Object source, Object target){
	return BeanComparator.getCompareResult(source, target, propertyTranslationMap);
}

}

(4) 使用

@Test
public void test1() {
	User u1 = new User();
	u1.setId(1);
	u1.setName("aa");
	u1.setPoint(new BigDecimal("111111111111.12"));

	User u2 = new User();
	u2.setId(1);
	u2.setName("aa2");
	u2.setPoint(new BigDecimal("111111111111.15"));
	CompareResult compareResult = UserLog.getCompareResult(u1, u2);
	if (compareResult.isChanged()) {
		System.out.println(compareResult.getChangeContent());
	}
}

(5)輸出結(jié)果

用戶名:aa->aa2,積分:111111111111.12->111111111111.15,

(6)說明 instructions

上面是推薦用法,使用輔助日志類能統(tǒng)一維護(hù)一個java bean的注釋map,簡化調(diào)用。 The recommended usage, above, is to use secondary logging classes to uniformly maintain an annotated map of a Java bean, simplifying invocation.

到此,相信大家對“如何使用xkbeancomparator對比javabean生成操作記錄”有了更深的了解,不妨來實際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!


分享文章:如何使用xkbeancomparator對比javabean生成操作記錄
網(wǎng)頁路徑:http://weahome.cn/article/pghpog.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部