91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

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

發布時間:2021-06-25 11:49:28 來源:億速云 閱讀:217 作者:chen 欄目:大數據

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

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

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

特點:

jdk 1.7+

不依賴第三方jar,大小非常小

使用反射,調用get方法對比字段值。

使用實例:xkbeancomparator-samples

(1)添加pom依賴

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

(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;
    }
    

}

復制代碼

(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<String, String> 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)輸出結果

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

(6)說明 instructions

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

到此,相信大家對“如何使用xkbeancomparator對比javabean生成操作記錄”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

玉门市| 灵台县| 峨山| 九台市| 凤阳县| 浦城县| 凉城县| 科技| 沾化县| 鱼台县| 鲁山县| 澎湖县| 信丰县| 砚山县| 卢龙县| 遂川县| 博爱县| 昭觉县| 安顺市| 都安| 井陉县| 西乌珠穆沁旗| 邛崃市| 临高县| 哈巴河县| 柯坪县| 察隅县| 林芝县| 南川市| 莱阳市| 台安县| 麟游县| 安丘市| 阳城县| 马山县| 莱州市| 息烽县| 无锡市| 翁源县| 白河县| 通榆县|