300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > 推荐一款优秀的国内开源工具类库Hutool 让你的代码量减少90%

推荐一款优秀的国内开源工具类库Hutool 让你的代码量减少90%

时间:2020-07-11 05:17:28

相关推荐

推荐一款优秀的国内开源工具类库Hutool 让你的代码量减少90%

文章目录

一、常用的工具类库有哪些?为啥我要推荐Hutool?二、Hutool简介三、 Hutool如何改变我们的coding方式四、包含组件五、使用示例六、Hutool结构概述

一、常用的工具类库有哪些?为啥我要推荐Hutool?

Apache Commons

Google guava

对比有何优势:

有完善的中文文档,这个很关键,学习成本降低。更小的jar包,更优雅易懂的api最关键的,hutool结合了Apache Commons、Google guava的优点,也可以在源码中看到它们的身影。而且它不依赖第三方包。

二、Hutool简介

Hutool是一个小而全的Java工具类库,通过静态方法封装,降低相关API的学习成本,提高工作效率,使Java拥有函数式语言般的优雅,让Java语言也可以“甜甜的”。

Hutool中的工具方法来自每个用户的精雕细琢,它涵盖了Java开发底层代码中的方方面面,它既是大型项目开发中解决小问题的利器,也是小型项目中的效率担当;

Hutool是项目中“util”包友好的替代,它节省了开发人员对项目中公用类和公用工具方法的封装时间,使开发专注于业务,同时可以最大限度的避免封装不完善带来的bug。

三、 Hutool如何改变我们的coding方式

Hutool的目标是使用一个工具方法代替一段复杂代码,从而最大限度的避免“复制粘贴”代码的问题,彻底改变我们写代码的方式。

以计算MD5为例:

【以前】打开搜索引擎 -> 搜“Java MD5加密” -> 打开某篇博客-> 复制粘贴 -> 改改好用【现在】引入Hutool -> SecureUtil.md5()

Hutool的存在就是为了减少代码搜索成本,避免网络上参差不齐的代码出现导致的bug。

四、包含组件

一个Java基础工具类,对文件、流、加密解密、转码、正则、线程、XML等JDK方法进行封装,组成各种Util工具类,同时提供以下组件:

可以根据需求对每个模块单独引入,也可以通过引入hutool-all方式引入所有模块。

五、使用示例

比如:日期时间工具-DateUtil

Date date = DateUtil.date();//获得年的部分DateUtil.year(date);//获得月份,从0开始计数DateUtil.month(date);//获得月份枚举DateUtil.monthEnum(date);//一天的开始,结果:-06-22 00:00:00Date beginOfDay = DateUtil.beginOfDay(date);//一天的结束,结果:-06-22 23:59:59Date endOfDay = DateUtil.endOfDay(date);//昨天DateUtil.yesterday();//明天DateUtil.tomorrow();//上周DateUtil.lastWeek();//下周DateUtil.nextWeek();//上个月DateUtil.lastMonth();//下个月DateUtil.nextMonth();

还能得到星座、属相、年龄、是否闰年,想不到吧?

// "双子"String zodiac = DateUtil.getZodiac(Month.JUNE.getValue(), 19);// "狗"String chineseZodiac = DateUtil.getChineseZodiac(1994);//年龄DateUtil.ageOfNow("1997-11-10");//是否闰年DateUtil.isLeapYear();

六、Hutool结构概述

还有好多好玩好用的!!等你来探索!

工具类

字符串工具-StrUtil16进制工具-HexUtilEscape工具-EscapeUtilHash算法-HashUtilURL工具-URLUtilXML工具-XmlUtil对象工具-ObjectUtil反射工具-ReflectUtil泛型类型工具-TypeUtil分页工具-PageUtil剪贴板工具-ClipboardUtil类工具-ClassUtil类加载工具-ClassLoaderUtil枚举工具-EnumUtil命令行工具-RuntimeUtil数字工具-NumberUtil数组工具-ArrayUtil随机工具-RandomUtil唯一ID工具-IdUtil压缩工具-ZipUtil引用工具-ReferenceUtil正则工具-ReUtil身份证工具-IdcardUtil信息脱敏工具-DesensitizedUtil社会信用代码工具-CreditCodeUtilSPI加载工具-ServiceLoaderUtil

日期时间

类型转换工具类-Convert自定义类型转换-ConverterRegistry日期时间工具-DateUtil日期时间对象-DateTime农历日期-ChineseDateLocalDateTime工具-LocalDateTimeUtil计时器工具-TimeInterval

IO流相关

IO工具类-IoUtil文件工具类-FileUtil文件类型判断-FileTypeUtil文件监听-WatchMonitor文件读取-FileReader文件写入-FileWriter文件追加-FileAppender文件跟随-Tailer文件名工具-FileNameUtil资源工具-ResourceUtilClassPath资源访问-ClassPathResource

语言特性

HashMap扩展-Dict单例工具-Singleton断言-Assert二进码十进数-BCD控制台打印封装-Console字段验证器-Validator字符串格式化-StrFormatter树结构工具-TreeUtil

JavaBean

Bean工具-BeanUtilDynaBean表达式解析-BeanPathBean描述-BeanDesc空检查属性获取-OptinalBean

集合类

集合工具-CollUtil列表工具-ListUtilIterator工具-IterUtil有界优先队列-BoundedPriorityQueue线程安全的HashSet-ConcurrentHashSet

Map

Map工具-MapUtil双向查找Map-BiMap可重复键值Map-TableMap

Codec编码

Base62编码解码-Base62Base64编码解码-Base64Base32编码解码-Base32

文本操作

CSV文件处理工具-CsvUtil可复用字符串生成器-StrBuilderUnicode编码转换工具-UnicodeUtil字符串切割-StrSpliter

注解

注解工具-AnnotationUtil

比较器

比较工具-CompareUtil版本比较器-VersionComparator

异常

异常工具-ExceptionUtil其它异常封装

数学

数学相关-MathUtil

线程和并发

线程工具-ThreadUtil自定义线程池-ExecutorBuilder高并发测试-ConcurrencyTester

图片

图片工具-ImgUtil图片编辑器-Img

网络

网络工具-NetUtilURL生成器-UrlBuilder

源码编译

源码编译工具-CompilerUtil.md

缓存(Hutool-cache)

缓存工具-CacheUtil先入先出-FIFOCache最少使用-LFUCache最近最久未使用-LRUCache超时-TimedCache弱引用-WeakCache文件缓存-FileCache

JSON(Hutool-json)

JSON工具-JSONUtilJSON对象-JSONObjectJSON数组-JSONArray

加密解密(Hutool-crypto)

加密解密工具-SecureUtil对称加密-SymmetricCrypto非对称加密-AsymmetricCrypto摘要加密-Digester消息认证码算法-HMac签名和验证-Sign国密算法工具-SmUtil

DFA查找(Hutool-dfa)

DFA查找

HTTP客户端(Hutool-http)

Http客户端工具类-HttpUtilHttp请求-HttpRequestHttp响应-HttpResponseHTML工具类-HtmlUtilUA工具类-UserAgentUtil简易Http服务器-SimpleServer

定时任务(Hutool-cron)

全局定时任务-CronUtil

扩展(Hutool-extra)

邮件工具-MailUtil二维码工具-QrCodeUtilServlet工具-ServletUtil模板引擎封装-TemplateUtilJsch(SSH)工具-JschUtilFTP封装-FtpEmoji工具-EmojiUtil中文分词封装-TokenizerUtilSpring工具-SpringUtilCglib工具-CglibUtil拼音工具-PinyinUtil布隆过滤(Hutool-bloomFilter)切面代理工具-ProxyUtilScript工具-ScriptUtil图形验证码(Hutool-captcha)

Office文档操作(Hutool-poi)

Excel工具-ExcelUtilExcel读取-ExcelReader流方式读取Excel-Excel03SaxReader流方式读取Excel-Excel07SaxReaderExcel生成-ExcelWriterExcel大数据生成-BigExcelWriterWord生成-Word07Writer

系统调用(Hutool-system)

系统属性调用-SystemUtilOshi封装-OshiUtil

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。