Hutool这么好用的工具确定不用吗?

  • j3_liuliang
  • 最近看到一个超级奈斯的Java工具包Hutool,不用不知道一用是真香啊!那下面我们就简单的了解一下它把!

一、说在前面的话

Hutool这么好用的工具确定不用吗?

所有的工具都是为了更好的开发,这没意见吧!

如果一个工具使用了,不能给你带来便捷,高效,简洁那我可以说这个工具是一个失败的,或者可以说它不能称之为一个工具;

从开始学习Java时,我们都学习过非常多的工具,有Java基础时我们学IO那块的IO工具包commons-io它是专门为java中的IO流操作而准备的,把常用的操作都封装了起来,我们只要直接用就可以了;连接数据库时的繁琐步骤我相信大家是不是深有体会,所以在那个阶段就出现了JDBCUtils工具包,它将那些繁琐的步骤都进行了封装只对外提供最简单的使用API,我记得这个工具包还挺简单的,我自己都有写过当然是简单版的(小得瑟一下);JavaWeb阶段我们学的servlet,是不是感觉有点鸡肋,每次前端要请求一次是不是都要写一个对应的Servlet来接受并处理它,要是几十甚至几百个请求那类的数量就可想而知了,所以就出现了Servlet对应的工具类BaseServlet(这个本人后面也是自己写过的,而且实现的功能很强大哦!并且是类似SpringMVC,又吹了了一波);等…

Hutool这么好用的工具确定不用吗?

说了这么多,是不是对工具这一概念有了大体的认识呢!

二、工具孕育的过程

2.1 晦涩,繁琐

首先工具的前提肯定是在已有的技术上面做文章的,就比如有需求才会有产品(我的理解),这里要先建立一个先后的问题。

然后就是先前的这个技术肯定是不人性化,或者是有变通的地方才会有人去优化它,改它;或者是使用的步骤和难度非常大,完全可以把这些都封装或删减而达到同样或者更好的结果。

所以,晦涩的使用方式,繁琐的使用步骤是一个工具产生的前提。

2.2 透彻

有了前提,就会有要改进或者替代它的产品而达到相同效果或者说是更好的效果,而这些前提那就需要我们有对这个技术非常熟悉,非常透彻的领悟和理解才能有接下了的动作了(改它,自己写一个的霸气

2.3 封装或优化

当技术和理解能力到达一定的阶段之后,对那些繁琐,待优化的技术或事物做处理就非常的有意义了;

而且都说程序员都是非常懒得,这一点是没有错的,但要把这个字用对地方,他们不是生活上的懒,也不是技术上的懒,而是不想做重复繁琐步骤上的懒,也正是这些懒,才有了后面那么多的工具类,或者往大点的说就是那么多的框架技术我这里就直说一个你们可以自己体会,那就是SpringBoot这个框架;

2.4 开源维护

现在这个时代,是开源的时代;

一个好的技术或框架工具类没有开源,你再牛逼别人也用不到也更不可能知道,只能是自己玩玩,我相信这绝对不是我们这样类人所想要看到的;

而且当它越来越大越来越复杂的时候一个人的力量往往是渺小的,只有开源出来,让大家都来参与和维护,找到你所不能发现,或不足的地方,岂不美哉而且是名利双收(我的小见解,嘿嘿!)

三、Hutool简介

Hutool这么好用的工具确定不用吗?

官网:点击这里

学这个的时候我还有点感触,因为这个工具是国人写的,个人感觉不比谷歌的Guava工具差,而且不光是这个,Github上很多超火的项目很多都是国人写的,他们用行动向世界证明中国的程序员也是可以写出好的工具好的项目的;

好了,吹逼逼吹完了,来看看Hutool是个什么工具把!

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

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

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

说起来这个工具的名字也是非常有意思的,“糊涂”,下面是官网上解释的:

Hutool = Hu + tool,是原公司项目底层代码剥离后的开源库,“Hu”是公司名称的表示,tool表示工具。Hutool谐音“糊涂”,一方面简洁易懂,一方面寓意“难得糊涂”。

它改变代码的方式如下:

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

以计算MD5为例:

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

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

四、工具模块

一个Java基础工具类,对文件、流、加密解密、转码、正则、线程、XML等JDK方法进行封装,组成各种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-all方式引入所有模块。

说到这里突然就结束了,是不是感觉意犹未尽;

Hutool这么好用的工具确定不用吗?

其实博主也还再学习这个工具拉,现在只是把我理解的写出来了,以后会对这个工具类比较好的功能都写出给大家阅读,大家也可以去它的官网逛逛,说不定就有不一样的理解呢!

结束语

  • 由于博主才疏学浅,难免会有纰漏,假如你发现了错误或偏见的地方,还望留言给我指出来,我会对其加以修正。
  • 如果你觉得文章还不错,你的转发、分享、点赞、留言就是对我最大的鼓励。
  • 感谢您的阅读,十分欢迎并感谢您的关注。

Hutool这么好用的工具确定不用吗?