Java優(yōu)秀類庫(kù)Hutool使用示例
介紹
日常的業(yè)務(wù)開發(fā),我們會(huì)重復(fù)編寫一些代碼:日期和字符串相互轉(zhuǎn)換、發(fā)送Http請(qǐng)求調(diào)用接口、拷貝對(duì)象等。所以為了避免重復(fù)編寫,項(xiàng)目中會(huì)封裝好相關(guān)方法,我們直接調(diào)用。但這樣是不是還是挺麻煩,封裝的方法我們還是得想得編,還得想的面面俱到。其實(shí)大可不必這么麻煩,Hutool是一個(gè)絕佳的解決方法,它是一款開源的java語言編寫的工具類庫(kù),上述說的、還有其余非常多的工具性質(zhì)的方法,都已封裝好,非常全,幾乎可以滿足所有的業(yè)務(wù)訴求。
如何使用
下面我們舉幾個(gè)例子,引入依賴:
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.8.5</version>
</dependency>
生成6位隨機(jī)的數(shù)字(發(fā)送驗(yàn)證碼功能要用到):
import cn.hutool.core.util.RandomUtil;
public class Test {
public static void main(String[] args) {
//生成6位隨機(jī)0~9的字符串
String code = RandomUtil.randomNumbers(6);
//生成4位隨機(jī)a~z的字符串
String code1 = RandomUtil.randomString(RandomUtil.BASE_CHAR, 4);
}
}
對(duì)象的拷貝:
import cn.hutool.core.bean.BeanUtil;
public class Test {
public static void main(String[] args) {
//把A對(duì)象的屬性值,復(fù)制到B對(duì)象的同名屬性上(屬性的大小寫也要一樣)
BeanUtil.copyProperties(new A(), new B());
//可變參數(shù),A對(duì)象的age屬性不復(fù)制到B對(duì)象
BeanUtil.copyProperties(new A(), new B(), "age");
//忽略屬性的大小寫,如果A對(duì)象有個(gè)accountStatus屬性,
//B對(duì)象有個(gè)accountstatus屬性,這時(shí)也能對(duì)應(yīng)復(fù)制
BeanUtil.copyProperties(new A(), new B(), true);
//對(duì)象轉(zhuǎn)Map對(duì)象
Map<String, Object> map = BeanUtil.beanToMap(new Person());
//第二個(gè)參數(shù):是否轉(zhuǎn)換成下劃線形式,第三個(gè)參數(shù):是否忽略為null的屬性
Map<String, Object> map1 = BeanUtil.beanToMap(new Person(), false,
true);
}
}
日期和字符串相互轉(zhuǎn)換:
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
import java.util.Date;
public class Test {
public static void main(String[] args) {
//轉(zhuǎn)換成yyyy-MM-dd HH:mm:ss形式
String s = DateUtil.formatDateTime(new Date());
System.out.println(s);
//字符串轉(zhuǎn)日期類型,DateTime繼承自java.util.Date
DateTime date = DateUtil.parse("2023-01-22 18:35:20");
}
}
發(fā)送Http請(qǐng)求,調(diào)用接口:
import cn.hutool.http.HttpUtil;
import java.util.HashMap;
import java.util.Map;
public class Test {
public static void main(String[] args) {
//發(fā)送get請(qǐng)求
String responseCode = HttpUtil.get("請(qǐng)求url");
Map<String, Object> map = new HashMap<>();
map.put("ip", "127.0.0.1");
map.put("id", 3);
//發(fā)送post請(qǐng)求
String responseCode1 = HttpUtil.post("請(qǐng)球url", map);
}
}
總結(jié)
Hutool還能做許多其他的事,我就不一一列舉了。清一色的是xxxUtil類,然后調(diào)用static方法。方法不會(huì)用時(shí),可以去看看它的說明文檔:https://hutool.cn/docs/。同時(shí)有空時(shí)可以點(diǎn)進(jìn)去它的方法,看看它的源碼,看別人是如何實(shí)現(xiàn)的。
到此這篇關(guān)于Java優(yōu)秀類庫(kù)Hutool使用示例的文章就介紹到這了,更多相關(guān)Java Hutool內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
springboot使用webservice發(fā)布和調(diào)用接口的實(shí)例詳解
本文介紹了如何在Springboot中使用webservice發(fā)布和調(diào)用接口,涵蓋了必要的依賴添加和代碼示例,文中提供了服務(wù)端和客戶端的實(shí)現(xiàn)方法,以及如何設(shè)置端口和服務(wù)地址,幫助讀者更好地理解和應(yīng)用Springboot結(jié)合webservice的技術(shù)2024-10-10
SpringBoot實(shí)現(xiàn)HTTP調(diào)用的7 種方式
本文主要介紹了SpringBoot實(shí)現(xiàn)HTTP調(diào)用的7 種方式,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2025-04-04
sharding-jdbc5.0.0實(shí)現(xiàn)分表實(shí)踐
本文主要介紹了sharding-jdbc5.0.0分表實(shí)踐,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-02-02
Spring?boot事務(wù)無效報(bào)錯(cuò):Transaction?not?enabled問題排查解決
在業(yè)務(wù)代碼中經(jīng)常需要保證事務(wù)的原子性,但是有的時(shí)候確實(shí)是出現(xiàn)事務(wù)沒有生效,這篇文章主要給大家介紹了關(guān)于Spring?boot事務(wù)無效報(bào)錯(cuò):Transaction?not?enabled問題排查的相關(guān)資料,需要的朋友可以參考下2023-11-11
springboot2.6.4集成swagger3.0遇到的坑及解決方法
這篇文章主要介紹了springboot2.6.4如何集成swagger3.0,在集成的過程中遇到很多問題,本文給大家分享四種問題及相應(yīng)的解決方案,需要的朋友可以參考下2022-03-03
springboot定時(shí)任務(wù)@Scheduled執(zhí)行多次的問題
這篇文章主要介紹了springboot定時(shí)任務(wù)@Scheduled執(zhí)行多次問題的解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-10-10
使用Java實(shí)現(xiàn)2048小游戲代碼實(shí)例
這篇文章主要介紹了使用Java實(shí)現(xiàn)2048小游戲代碼實(shí)例,2048 游戲是一款益智類游戲,玩家需要通過合并相同數(shù)字的方塊,不斷合成更大的數(shù)字,最終達(dá)到2048,游戲規(guī)則簡(jiǎn)單,但挑戰(zhàn)性很高,需要玩家靈活運(yùn)用策略和計(jì)算能力,本文將使用Java代碼實(shí)現(xiàn),需要的朋友可以參考下2023-10-10

