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

溫馨提示×

溫馨提示×

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

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

Java中的hutool和lombok工具怎么使用

發布時間:2022-02-28 10:51:53 來源:億速云 閱讀:189 作者:iii 欄目:開發技術

本篇內容主要講解“Java中的hutool和lombok工具怎么使用”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Java中的hutool和lombok工具怎么使用”吧!

一.hutool工具

摘抄一段hutool工具的簡介:

Hutool是一個小而全的Java工具類庫,通過靜態方法封裝,降低相關API的學習成本,是項目中“util”包友好的替代,它節省了開發人員對項目中公用類和公用工具方法的封裝時間,使開發專注于業務。

  • hutool-aop JDK動態代理封裝,提供非IOC下的切面支持

  • hutool-bloomFilter 布隆過濾,提供一些Hash算法的布隆過濾

  • hutool-cache 簡單緩存實現

  • hutool-core 核心,包括Bean操作、日期、各種Util等

  • hutool-cron 定時任務模塊,提供類Crontab表達式的定時任務

  • hutool-crypto 加密解密模塊,提供對稱、非對稱和摘要算法封裝

  • hutool-db JDBC封裝后的數據操作,基于ActiveRecord思想

  • hutool-dfa 基于DFA模型的多關鍵字查找

  • hutool-extra 擴展模塊,對第三方封裝(模板引擎、郵件、Servlet、二維碼、Emoji、FTP、分詞等)

  • hutool-http 基于HttpUrlConnection的Http客戶端封裝

  • hutool-log 自動識別日志實現的日志門面

  • hutool-script 腳本執行封裝,例如Javascript

  • hutool-setting 功能更強大的Setting配置文件和Properties封裝

  • hutool-system 系統參數調用封裝(JVM信息等)

  • hutool-json JSON實現

  • hutool-captcha 圖片驗證碼實現

  • hutool-poi 針對POI中Excel和Word的封裝

  • hutool-socket 基于Java的NIO和AIO的Socket封裝

從上面我們也可看出,hutool的工具類十分豐富,個人感覺已涵蓋絕大多數中小公司80%的業務,提升代碼效率不在話下。

安裝使用:

hutool官方文檔

在maven項目的pom.xml的dependencies中加入以下內容:

<dependency>
    <groupId>cn.hutool</groupId>
    <artifactId>hutool-all</artifactId>
    <version>5.6.3</version>
</dependency>

ps:上面相當于引入了hutool所有的工具類,我們也可以單獨引入需要的包

使用案例:

package com.example.demo;

import cn.hutool.json.JSONUtil;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
@Data
public class User {
    private String userEmail;

    private String userName;

    private List<UserExample> userExampleList;
}
@Data
class UserExample {
    protected String orderByClause;

    protected boolean distinct;

    public static void main(String[] args) {
        User user = getUser();
        String jsonStr = JSONUtil.toJsonStr(user);
        System.out.println("==============json數據格式==============");
        System.out.println(jsonStr);

        Object obj1 = JSONUtil.getByPath(JSONUtil.parse(user), "userName");
        System.out.println("========================================");
        System.out.println("通過hutool獲取User對象的屬性userName值");
        System.out.println(obj1);

        Object obj2 = JSONUtil.getByPath(JSONUtil.parse(user), "userExampleList[1].orderByClause");
        System.out.println("========================================");
        System.out.println("通過hutool獲取User對象的屬性List<UserExample>中第二個對象的orderByClause值");
        System.out.println(obj2);
    }

    /**
     * 初始化測試數據
     * @return
     */
    private static User getUser() {
        User user = new User();
        user.setUserName("wook");
        user.setUserEmail("xxxx@qq.com");
        //設置一個UserExample的集合,方便看demo效果
        List<UserExample> list = new ArrayList<>();
        UserExample userExample = new UserExample();
        userExample.setDistinct(true);
        userExample.setOrderByClause("小吳測試1");
        UserExample userExample2 = new UserExample();
        userExample2.setDistinct(false);
        userExample2.setOrderByClause("小吳測試2");
        list.add(userExample);
        list.add(userExample2);
        user.setUserExampleList(list);
        return user;
    }
}

運行結果:

==============json數據格式==============
{"userName":"wook","userExampleList":[{"distinct":true,"orderByClause":"小吳測試1"},{"distinct":false,"orderByClause":"小吳測試2"}],"userEmail":"xxxx@qq.com"}
========================================
通過hutool獲取User對象的屬性userName值
wook
========================================
通過hutool獲取User對象的屬性List<UserExample>中第二個對象的orderByClause值
小吳測試2

從運行結果可知,JSONUtil.getByPath()方法需要傳2個參數,第1個是我們的json對象,第2個是表達式(寫法類似于我們在js中,直接操作集合 list[0].propertyName),更多的功能本文章不再列舉~
ps:hutool的源碼中有很多值得我們學習的地方,方便自己的同時,更要虛心學習。

二:lombok


簡介

lombok注解在java進行編譯時進行代碼的構建,對于java對象的創建工作它可以更優雅,不需要寫多余的重復的代碼。(lombok一直是個有爭議的產品,此處不做評論)

常用注解

@Getter或@Setter
用在屬性上,我們就可以不必寫getter和setter方法了

@ToString
用在類上,可以自動復寫toString方法

@EqualsAndHashCode
用在類上,可以自動生成equals和hashCode方法

@AllArgsConstructor
用在類上,自動生成無參構造和使用所有有參構造函數

@Data
用在類上,(最常用)相當于同時使用了@ToString、@EqualsAndHashCode、@Getter、@Setter和 @RequiredArgsConstrutor這些注解

@Builder
用在類上,構造者模式,案例在后面

@Slf4j
用在類上,能幫助我們直接在方法使用log.info

安裝使用:

File --> Setting --> plugins --> lombok

Java中的hutool和lombok工具怎么使用

2.在maven項目的pom.xml的dependencies中加入以下內容:

<dependency>
      <groupId>org.projectlombok</groupId>
      <artifactId>lombok</artifactId>
      <version>1.16.10</version>
  </dependency>

使用案例:

@Date在上面hutool使用案例已經體現,此處只演示@Builder及@Slf4j的功能

@Data
@Builder
@Slf4j
 class BuilderExample {
    private String name;
    private int age;
    public static void main(String[] args) {
        BuilderExample builderExample = BuilderExample.builder().age(11).name("wook").build();
        log.info(JSONUtil.toJsonStr(builderExample));
    }
}

運行結果:

21:57:03.702 [main] INFO com.example.demo.controller.BuilderExample - {"name":"wook","age":11}

到此,相信大家對“Java中的hutool和lombok工具怎么使用”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

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

AI

蒲江县| 公主岭市| 喀喇沁旗| 新余市| 色达县| 商丘市| 铜山县| 中江县| 怀来县| 定远县| 神农架林区| 浠水县| 高陵县| 剑河县| 工布江达县| 读书| 柯坪县| 沿河| 自治县| 武乡县| 成都市| 漳州市| 浦城县| 囊谦县| 东莞市| 蒙阴县| 定西市| 宁安市| 剑川县| 台东市| 天长市| 汉中市| 安康市| 长丰县| 新郑市| 揭西县| 澄城县| 广南县| 陇南市| 洛扎县| 甘孜县|