大家好,我是
node哥哥
,一个被Bug耽误了才艺的程序员,专注于Java领域的知识分享和技术交流,每天会给大家带来Java学习的干货教程,喜欢我的同学可以关注我
,一起学习,一起加油!
今天是六一国际儿童节,首先在这里祝各位程序yuan们节日快乐
哈哈,小朋友们今天都会收到特别的礼物,那么作为这个星球上最可爱的程序yuan们,怎么能没有礼物?
来,安排!
本篇给你们带来一个超级甜的Java工具类库——Hutool
文章目录
- Hutool
- 什么是Hutool?
- Hutool设计理念
- 为什么选择Hutool?
- 怎么用?
- 墙裂推荐的理由?
Hutool
官网地址:https://www.hutool.cn/
github地址:https://github.com/looly/hutool
gitee地址:https://github.com/looly/hutool
什么是Hutool?
来看下官网作者的解释:
Hutool是一个Java工具包,也只是一个工具包,它帮助我们简化每一行代码,减少每一个方法,让Java语言也可以“甜甜的”。Hutool最初是我项目中“util”包的一个整理,后来慢慢积累并加入更多非业务相关功能,并广泛学习其它开源项目精髓,经过自己整理修改,最终形成丰富的开源工具集。
Hutool设计理念
Hutool的设计思想是尽量减少重复的定义,让项目中的util这个package尽量少,总的来说有如下的几个思想:
- 方法优先于对象
- 自动识别优于用户定义
- 便捷性与灵活性并存
- 适配与兼容
- 可选依赖原则
- 无侵入原则
为什么选择Hutool?
目前市面上开源的Java工具类库有很多,一些非常优秀的像谷歌Guava、Apache的commons包、甚至很多人喜欢使用框架内部提供的一些工具类(例如Spring的BeanUtils)。它们封装了许多Java程序员日常所需的工具类如FileUtils、StringUtils、ArrayUtils等等,Hutool作为一个Java的超级工具集,囊括了我们日常开发所需的几乎所有的工具类库,来一起看看都有哪些:
模块 | 介绍 |
---|---|
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封装 |
怎么用?
- 通过maven安装:
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.3.6</version>
</dependency>
- 通过Gradle安装:
compile 'cn.hutool:hutool-all:5.3.6'
引入项目之后,打开官方文档 ,根据你的需要搜索找到对应的工具类,按照提示CV就完了。
比如我想用Excel相关操作的工具类,我先来搜索一波:
找到ExcelUtil后点开:
看到了吧,简单使用的demo文档上写的明明白白,只要复制粘贴就能快速上手。
如果这简单的小例子不能满足你的需求,那你可以打开Api文档,看下更多详细的操作。
API文档:https://apidoc.gitee.com/loolly/hutool/
打开后,还是熟悉的味道,自己操作就完了:
墙裂推荐的理由?
我来拿字符串操作工具类StrUtil举个例子:
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.util.StrUtil;
public class HutoolTest {
public static void main(String[] args) {
// String 操作
String str = "hello_word";
System.out.println(StrUtil.isBlank(str)); // 判断字符串是否为空
System.out.println(StrUtil.toCamelCase(str)); // 字符串“_”转驼峰
System.out.println(StrUtil.concat(true, str, null, "123")); //字符串连接
System.out.println(ArrayUtil.toString(StrUtil.splitToArray(str, '_'))); // 字符串拆分数组,内部帮我们做了判断,所以是安全的
}
}
运行结果:
打开StrUtil的类方法图看下,StrUtil给我们提供了非常全面String操作的工具方法,开箱即用,非常爽。
再下载源码点进去看下,注释都是中文的,而且非常详细。看到注释我们就能知道这个方法大概是做什么的,有什么注意事项,这对小白来说可以说是非常良心了。
怎么样?国产的工具类够甜吗?还不赶紧去尝试一下这份特别的六一礼物?
声明:我和Hutool组织没有任何利益关系,本篇完全是作者在亲身使用hutool多年后真的觉得好用才自发的给他宣传一波,毕竟,技术是开源的,好东西当然要一起分享的嘛,啊哈哈~
创作不易,如果您喜欢这篇文章的话,请你 点赞 + 评论 支持一下作者好吗?您的支持是我创作的源泉哦!喜欢Java,热衷学习的小伙伴可以加我微信: xia_qing2012 ,私聊我可以获取最新Java基础到进阶的全套学习资料。大家一起学习进步,成为大佬!