成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

java bean 對象屬性復制框架BeanMapping-01-入門案例

hot_pot_Leo / 1531人閱讀

摘要:項目簡介用于對象屬性賦值。示例代碼對象的定義其中對象和對象的屬性是相同的。名稱年齡生日字符串列表屬性賦值測試案例我們構(gòu)建的屬性,然后調(diào)用類似于和,并驗證結(jié)果符合我們的預期。

項目簡介

Bean-Mapping 用于 java 對象屬性賦值。

項目中經(jīng)常需要將一個對象的屬性,賦值到另一個對象中。

常見的工具有很多,但都多少不夠簡潔,要么不夠強大。

特性

支持對象屬性的淺拷貝

變更日志
變更日志
快速開始 準備

JDK1.8 及其以上版本

Maven 3.X 及其以上版本

maven 項目依賴

    com.github.houbb
    bean-mapping-core
    0.0.1
核心類說明 BeanUtil

提供一個簡單的靜態(tài)方法 copyProperties。

/**
 * 復制屬性
 * 將 source 中的賦值給 target 中名稱相同,且可以賦值的類型中去。類似于 spring 的 BeanUtils。
 * @param source 原始對象
 * @param target 目標對象
 */
public static void copyProperties(final Object source, Object target)
測試代碼參考

詳情參見 bean-mapping-test 模塊下的測試代碼。

示例代碼 對象的定義

BaseSource.java & BaseTarget.java

其中 BaseSource 對象和 BaseTarget 對象的屬性是相同的。

public class BaseSource {

    /**
     * 名稱
     */
    private String name;

    /**
     * 年齡
     */
    private int age;

    /**
     * 生日
     */
    private Date birthday;

    /**
     * 字符串列表
     */
    private List stringList;
    
    //getter & setter
}
屬性賦值測試案例

我們構(gòu)建 BaseSource 的屬性,然后調(diào)用

BeanUtil.copyProperties(baseSource, baseTarget);

類似于 spring BeanUtils 和 Apache BeanUtils,并驗證結(jié)果符合我們的預期。

    /**
     * 基礎測試
     */
    @Test
    public void baseTest() {
        BaseSource baseSource = buildBaseSource();
        BaseTarget baseTarget = new BaseTarget();
        BeanUtil.copyProperties(baseSource, baseTarget);

        // 斷言賦值后的屬性和原來相同
        Assertions.assertEquals(baseSource.getAge(), baseTarget.getAge());
        Assertions.assertEquals(baseSource.getName(), baseTarget.getName());
        Assertions.assertEquals(baseSource.getBirthday(), baseTarget.getBirthday());
        Assertions.assertEquals(baseSource.getStringList(), baseTarget.getStringList());
    }

    /**
     * 構(gòu)建用戶信息
     * @return 用戶
     */
    private BaseSource buildBaseSource() {
        BaseSource baseSource = new BaseSource();
        baseSource.setAge(10);
        baseSource.setName("映射測試");
        baseSource.setBirthday(new Date());
        baseSource.setStringList(Arrays.asList("1", "2"));
        return baseSource;
    }

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/73387.html

相關文章

  • Spring筆記01_下載_概述_監(jiān)聽器

    摘要:簡單來說,是一個輕量級的控制反轉(zhuǎn)和面向切面的容器框架。變成的支持提供面向切面編程,可以方便的實現(xiàn)對程序進行權(quán)限攔截,運行監(jiān)控等功能。用于反射創(chuàng)建對象,默認情況下調(diào)用無參構(gòu)造函數(shù)。指定對象的作用范圍。 1.Spring介紹 1.1 Spring概述 Spring是一個開源框架,Spring是于2003 年興起的一個輕量級的Java 開發(fā)框架,由Rod Johnson 在其著作Expert...

    reclay 評論0 收藏0
  • Spring IOC知識點一網(wǎng)打盡!

    摘要:使用的好處知乎的回答不用自己組裝,拿來就用。統(tǒng)一配置,便于修改。 前言 只有光頭才能變強 回顧前面: 給女朋友講解什么是代理模式 包裝模式就是這么簡單啦 單例模式你會幾種寫法? 工廠模式理解了沒有? 在刷Spring書籍的時候花了點時間去學習了單例模式和工廠模式,總的來說還是非常值得的! 本來想的是刷完《Spring 實戰(zhàn) (第4版)》和《精通Spring4.x 企業(yè)應用開發(fā)實戰(zhàn)》...

    djfml 評論0 收藏0
  • 慕課網(wǎng)_《Spring入門篇》學習總結(jié)

    摘要:入門篇學習總結(jié)時間年月日星期三說明本文部分內(nèi)容均來自慕課網(wǎng)。主要的功能是日志記錄,性能統(tǒng)計,安全控制,事務處理,異常處理等等。 《Spring入門篇》學習總結(jié) 時間:2017年1月18日星期三說明:本文部分內(nèi)容均來自慕課網(wǎng)。@慕課網(wǎng):http://www.imooc.com教學示例源碼:https://github.com/zccodere/s...個人學習源碼:https://git...

    Ververica 評論0 收藏0
  • java bean 對象屬性復制框架BeanMapping-release_0.0.2-注解支持

    摘要:只有同時生效時,才會發(fā)生賦值。具體的生效實現(xiàn)類型轉(zhuǎn)換默認不進行轉(zhuǎn)換為了確保轉(zhuǎn)換的確定性靈活性。對象中指定這個屬性,不會改變對象的屬性值和類型。 BeanMapping 為了更加靈活的指定映射方式,0.0.2 版本引入了 @BeanMapping 注解。 注解的定義 注解定義在 bean-mapping-api 模塊中,bean-mapping-core 會默認引入此模塊。 packag...

    leap_frog 評論0 收藏0
  • Java Bean Validation

    摘要:表達式語言依賴關系提供對變量插值的支持,允許在違規(guī)消息中使用表達式。這是當相應屬性的值未通過驗證時通常會呈現(xiàn)的消息。任何違反對象中定義的約束的行為都將作為返回。案例結(jié)論本文重點介紹了標準的簡單傳遞,并使用注釋和說明了驗證的基礎知識。 案例概述 在這本文中,我們將介紹使用標準框架驗證Java bean的基礎知識 - JSR 380,也稱為Bean Validation 2.0。 當然,驗...

    Imfan 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<