Java優(yōu)秀類庫(kù)Hutool使用示例
介紹
日常的業(yè)務(wù)開(kāi)發(fā),我們會(huì)重復(fù)編寫(xiě)一些代碼:日期和字符串相互轉(zhuǎn)換、發(fā)送Http請(qǐng)求調(diào)用接口、拷貝對(duì)象等。所以為了避免重復(fù)編寫(xiě),項(xiàng)目中會(huì)封裝好相關(guān)方法,我們直接調(diào)用。但這樣是不是還是挺麻煩,封裝的方法我們還是得想得編,還得想的面面俱到。其實(shí)大可不必這么麻煩,Hutool是一個(gè)絕佳的解決方法,它是一款開(kāi)源的java語(yǔ)言編寫(xiě)的工具類庫(kù),上述說(shuō)的、還有其余非常多的工具性質(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ì)象的同名屬性上(屬性的大小寫(xiě)也要一樣) BeanUtil.copyProperties(new A(), new B()); //可變參數(shù),A對(duì)象的age屬性不復(fù)制到B對(duì)象 BeanUtil.copyProperties(new A(), new B(), "age"); //忽略屬性的大小寫(xiě),如果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í),可以去看看它的說(shuō)明文檔: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?替換?if?的參數(shù)校驗(yàn)示例代碼
Spring?Validation是對(duì)hibernate?validation的二次封裝,用于支持spring?mvc參數(shù)自動(dòng)校驗(yàn),接下來(lái),我們以spring-boot項(xiàng)目為例,介紹Spring?Validation的使用,需要的朋友可以參考下2022-12-12SpringBoot集成Swagger3的實(shí)現(xiàn)
本文主要介紹了SpringBoot集成Swagger3的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-12-12springboot+webmagic實(shí)現(xiàn)java爬蟲(chóng)jdbc及mysql的方法
今天小編就為大家分享一篇springboot+webmagic實(shí)現(xiàn)java爬蟲(chóng)jdbc及mysql的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-08-08Java Set集合的遍歷及實(shí)現(xiàn)類的比較
這篇文章主要介紹了Java Set集合的遍歷及實(shí)現(xiàn)類的比較的相關(guān)資料,需要的朋友可以參考下2017-03-03java開(kāi)發(fā)WMS倉(cāng)庫(kù)商品預(yù)警需求示例解析
這篇文章主要為大家介紹了java開(kāi)發(fā)WMS倉(cāng)庫(kù)商品預(yù)警需求示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-04-04Spring MVC 學(xué)習(xí) 之 - URL參數(shù)傳遞詳解
本篇文章主要介紹了SpringMVC-URL參數(shù)傳遞,在學(xué)習(xí) Spring Mvc 過(guò)程中,有必要來(lái)先了解幾個(gè)關(guān)鍵參數(shù),有興趣的可以了解一下。2017-01-01SpringCloud Feign轉(zhuǎn)發(fā)請(qǐng)求頭(防止session失效)的解決方案
這篇文章主要介紹了SpringCloud Feign轉(zhuǎn)發(fā)請(qǐng)求頭(防止session失效)的解決方案,本文給大家分享兩種解決方案供大家參考,感興趣的朋友跟隨小編一起看看吧2020-10-10