日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

今天給大家推薦一個(gè)非常好用的JAVA工具類庫,企業(yè)級常用工具類,基本都有,能避免重復(fù)造輪子及節(jié)省大量的開發(fā)時(shí)間,非常不錯(cuò),值得大家去了解使用。

Hutool諧音 “糊涂”,寓意追求 “萬事都作糊涂觀,無所謂失,無所謂得” 的境界。

Hutool 是一個(gè) Java 工具包,也只是一個(gè)工具包,它幫助我們簡化每一行代碼,減少每一個(gè)方法,讓 Java 語言也可以 “甜甜的”。Hutool 最初是我項(xiàng)目中 “util” 包的一個(gè)整理,后來慢慢積累并加入更多非業(yè)務(wù)相關(guān)功能,并廣泛學(xué)習(xí)其它開源項(xiàng)目精髓,經(jīng)過自己整理修改,最終形成豐富的開源工具集。

一、功能

一個(gè) Java 基礎(chǔ)工具類,對文件、流、加密解密、轉(zhuǎn)碼、正則、線程、XML 等 JDK 方法進(jìn)行封裝,組成各種 Util 工具類,同時(shí)提供以下組件:

 

  • tool-aop JDK 動(dòng)態(tài)代理封裝,提供非 IOC 下的切面支持

     

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

     

  • hutool-cache 緩存

     

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

     

  • hutool-cron 定時(shí)任務(wù)模塊,提供類 Crontab 表達(dá)式的定時(shí)任務(wù)

     

  • hutool-crypto 加密解密模塊

     

  • hutool-db JDBC 封裝后的數(shù)據(jù)操作,基于 ActiveRecord 思想

     

  • hutool-dfa 基于 DFA 模型的多關(guān)鍵字查找

     

  • hutool-extra 擴(kuò)展模塊,對第三方封裝(模板引擎、郵件等)

     

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

     

  • hutool-log 自動(dòng)識別日志實(shí)現(xiàn)的日志門面

     

  • hutool-script 腳本執(zhí)行封裝,例如 JavaScript

     

  • hutool-setting 功能更強(qiáng)大的 Setting 配置文件和 Properties 封裝

     

  • hutool-system 系統(tǒng)參數(shù)調(diào)用封裝(JVM 信息等)

     

  • hutool-json JSON 實(shí)現(xiàn)

     

  • hutool-captcha 圖片驗(yàn)證碼實(shí)現(xiàn)

     

二、安裝

 

maven項(xiàng)目在pom.xml添加以下依賴即可:


cn.hutoolgroupId>
hutool-allartifactId>
4.6.3version>
dependency>

三、簡單測試

DateUtil

日期時(shí)間工具類,定義了一些常用的日期時(shí)間操作方法。關(guān)于Java IO多路復(fù)用:https://www.yoodb.com/java/io/io-multiplexing.html

//Date、long、Calendar之間的相互轉(zhuǎn)換
//當(dāng)前時(shí)間
Date date = DateUtil.date();
//Calendar轉(zhuǎn)Date
date = DateUtil.date(Calendar.getInstance());
//時(shí)間戳轉(zhuǎn)Date
date = DateUtil.date(System.currentTimeMillis());
//自動(dòng)識別格式轉(zhuǎn)換
String dateStr = "2017-03-01";
date = DateUtil.parse(dateStr);
//自定義格式化轉(zhuǎn)換
date = DateUtil.parse(dateStr, "yyyy-MM-dd");
//格式化輸出日期
String format = DateUtil.format(date, "yyyy-MM-dd");
//獲得年的部分
int year = DateUtil.year(date);
//獲得月份,從0開始計(jì)數(shù)
int month = DateUtil.month(date);
//獲取某天的開始、結(jié)束時(shí)間
Date beginOfDay = DateUtil.beginOfDay(date);
Date endOfDay = DateUtil.endOfDay(date);
//計(jì)算偏移后的日期時(shí)間
Date newDate = DateUtil.offset(date, DateField.DAY_OF_MONTH, 2);
//計(jì)算日期時(shí)間之間的偏移量
long betweenDay = DateUtil.between(date, newDate, DateUnit.DAY);

StrUtil

字符串工具類,定義了一些常用的字符串操作方法。

//判斷是否為空字符串
String str = "test";
StrUtil.isEmpty(str);
StrUtil.isNotEmpty(str);
//去除字符串的前后綴
StrUtil.removeSuffix("a.jpg", ".jpg");
StrUtil.removePrefix("a.jpg", "a.");
//格式化字符串
String template = "這只是個(gè)占位符:{}";
String str2 = StrUtil.format(template, "我是占位符");
LOGGER.info("/strUtil format:{}", str2);

NumberUtil

數(shù)字處理工具類,可用于各種類型數(shù)字的加減乘除操作及判斷類型。

double n1 = 1.234;
double n2 = 1.234;
double result;
//對float、double、BigDecimal做加減乘除操作
result = NumberUtil.add(n1, n2);
result = NumberUtil.sub(n1, n2);
result = NumberUtil.mul(n1, n2);
result = NumberUtil.div(n1, n2);
//保留兩位小數(shù)
BigDecimal roundNum = NumberUtil.round(n1, 2);
String n3 = "1.234";
//判斷是否為數(shù)字、整數(shù)、浮點(diǎn)數(shù)
NumberUtil.isNumber(n3);
NumberUtil.isInteger(n3);
NumberUtil.isDouble(n3);
BeanUtil
JavaBean的工具類,可用于Map與JavaBean對象的互相轉(zhuǎn)換以及對象屬性的拷貝。

 

PmsBrand brand = new PmsBrand();
brand.setId(1L);
brand.setName("小米");
brand.setShowStatus(0);
//Bean轉(zhuǎn)Map
Map map = BeanUtil.beanToMap(brand);
LOGGER.info("beanUtil bean to map:{}", map);
//Map轉(zhuǎn)Bean
PmsBrand mapBrand = BeanUtil.mapToBean(map, PmsBrand.class, false);
LOGGER.info("beanUtil map to bean:{}", mapBrand);
//Bean屬性拷貝
PmsBrand copyBrand = new PmsBrand();
BeanUtil.copyProperties(brand, copyBrand);
LOGGER.info("beanUtil copy properties:{}", copyBrand);

MapUtil

Map操作工具類,可用于創(chuàng)建Map對象及判斷Map是否為空。

//將多個(gè)鍵值對加入到Map中
Map map = MapUtil.of(new String[][]{
{"key1", "value1"},
{"key2", "value2"},
{"key3", "value3"}
//判斷Map是否為空
MapUtil.isEmpty(map);
MapUtil.isNotEmpty(map);
AnnotationUtil
注解工具類,可用于獲取注解與注解中指定的值。

 

//獲取指定類、方法、字段、構(gòu)造器上的注解列表
Annotation[] annotationList = AnnotationUtil.getAnnotations(HutoolController.class, false);
LOGGER.info("annotationUtil annotations:{}", annotationList);
//獲取指定類型注解
Api api = AnnotationUtil.getAnnotation(HutoolController.class, Api.class);
LOGGER.info("annotationUtil api value:{}", api.description());
//獲取指定類型注解的值
Object annotationValue = AnnotationUtil.getAnnotationValue(HutoolController.class, RequestMApping.class);

SecureUtil

加密解密工具類,可用于MD5加密。

//MD5加密
String str = "123456";
String md5Str = SecureUtil.md5(str);
LOGGER.info("secureUtil md5:{}", md5Str);

 

CaptchaUtil驗(yàn)證碼工具類,可用于生成圖形驗(yàn)證碼。

//生成驗(yàn)證碼圖片
LineCaptcha lineCaptcha = CaptchaUtil.createLineCaptcha(200, 100);
try {
request.getSession().setAttribute("CAPTCHA_KEY", lineCaptcha.getCode());
response.setContentType("image/png");//告訴瀏覽器輸出內(nèi)容為圖片
response.setHeader("Pragma", "No-cache");//禁止瀏覽器緩存
response.setHeader("Cache-Control", "no-cache");
response.setDateHeader("Expire", 0);
lineCaptcha.write(response.getOutputStream());
} catch (IOException e) {
e.printStackTrace();

Hutool中的工具類很多,可以參考官網(wǎng):https://www.hutool.cn/ 更多,好用工具:https://www.yoodb.com/

 

當(dāng)然,還有很多其他非常方便的方法,留著你自己去測試吧!使用Hutool工具,可以大大提高你的開發(fā)效率!

分享到:
標(biāo)簽:框架
用戶無頭像

網(wǎng)友整理

注冊時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊賬號,推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績評定2018-06-03

通用課目體育訓(xùn)練成績評定