国人开源了一款小而全的 Java 工具类库,厉害啊!!
最近栈长看到了一款小而全的 Java 工具类库:Hutool,Github 已经接近 14K Star 了,想必一定很优秀,现在推荐给大家,很多轮子不要再造了!

Hutool 是什么
Hutool 是一个 Java 工具包类库,它可以对文件、流、加密解密、转码、正则、线程、XML等JDK方法进行封装,组成各种 Utils 工具类。
Hutool 即是 Hu(谐音“糊涂”) + tool,前者致敬作者 “前任公司”,后者为工具之意,谐音“糊涂”,寓意追求“万事都作糊涂观,无所谓失,无所谓得”的境界。
Hutool如何改变我们的coding方式
Hutool的目标是使用一个工具方法代替一段复杂代码,从而最大限度的避免“复制粘贴”代码的问题,彻底改变我们写代码的方式。
以计算MD5为例:
【以前】打开搜索引擎 -> 搜“Java MD5加密” -> 打开某篇博客-> 复制粘贴 -> 改改好用
【现在】引入Hutool -> SecureUtil.md5()
Hutool的存在就是为了减少代码搜索成本,避免网络上参差不齐的代码出现导致的bug。
是不是很香,再也不要到处找这些工具类代码了,关注公众号Java技术栈在后台回复工具可以获取我往期推荐的真香工具。
包含组件
一个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封装 | 
安装
Maven 在项目的 pom.xml 的 dependencies 中加入以下内容:
<dependency>
    <groupId>cn.hutool</groupId>
    <artifactId>hutool-all</artifactId>
    <version>5.3.10</version>
</dependency>
Gradle:
compile 'cn.hutool:hutool-all:5.3.10'
这个类库还是咱国人程序员们开源的:

Hutool 也欢迎任何人为Hutool添砖加瓦,贡献代码,不过作者是一个强迫症患者,为了照顾病人,需要提交的pr(pull request)符合一些规范。
最后,也感谢为开源作出贡献的程序员们,如果有用得着的,大家也不要重复造轮子了!关注公众号Java技术栈在后台回复工具可以获取我往期推荐的真香工具。
本文内容大多由公众号“Java技术栈”整理于 Github 和 官方网址:
Github:
官方网址:
推荐去我的博客阅读更多:
2.Spring MVC、Spring Boot、Spring Cloud 系列教程
3.Maven、Git、Eclipse、Intellij IDEA 系列工具教程
觉得不错,别忘了点赞+转发哦!
国人开源了一款小而全的 Java 工具类库,厉害啊!!的更多相关文章
- Hutool :一个小而全的 Java 工具类库
		Hutool 简介 Hutool 是一个小而全的 Java 工具类库,通过静态方法封装,降低相关API的学习成本,提高工作效率,使Java拥有函数式语言般的优雅,让Java语言也可以"甜甜的 ... 
- 国人开源了一款超好用的 Redis 客户端,真香!!
		大家都知道,Redis Desktop Manager 是一款非常好用的 Redis 可视化客户端工具,但可惜的是 v0.9.4 版本之后需要收费了: 这个工具不再免费提供安装包了,要对所有安装包收费 ... 
- 开源自己的一个小android项目(美女撕衣服游戏)
		这是自己的一个开源自己的一个小android项目(美女撕衣服游戏),也是前6个月开发的,有部分的资源来自网络上的,现在开源出来给大家吧,由于源码比较大,不上传了,我已经上传到源码天堂那个网站那里了,大 ... 
- 开源!一款功能强大的高性能二进制序列化器Bssom.Net
		好久没更新博客了,我开源了一款高性能的二进制序列化器Bssom.Net和新颖的二进制协议Bssom,欢迎大家Star,欢迎参与项目贡献! Net开源技术交流群 976304396,禁止水,只能讨论技术 ... 
- Chrome 中的彩蛋,一款小游戏,你知道吗?
		今天看到一篇文章,介绍chrome中的彩蛋,带着好奇心进去看了一眼,没想到发现了一款小游戏,个人觉得还不错,偶尔可以玩一下,放松放松心情!^_^ 当 Chrome 无法连接到互联网时, 或者上着网突然 ... 
- 实现拖拽上传文件的一款小控件——dropzone
		由于专注所以专业.非常多小巧的东西乍一看非常不起眼,却在特定的领域表现不俗,就是由于集中了热情. dropzone就是这样一款小控件,实现拖拽上传.它不依赖于其他像jquery等JS库.并且支持多方面 ... 
- Airtest网易开源的一款UI自动化测试工具
		Airtest网易开源的一款UI自动化测试工具 1 Airtest 简介Airtest Project是网易游戏内部工具团队开发并开源的一款UI自动化测试工具,据说曾经获得谷歌力挺. AirtestI ... 
- 12款最佳Linux命令行终端工具, 20款优秀的 Linux 终端仿真器
		12款最佳Linux命令行终端工具 如果你跟我一样,整天要花大量的时间使用Linux命令行,而且正在寻找一些可替代系统自带的老旧且乏味的终端软件,那你真是找对了文章.我这里搜集了一些非常有趣的 ... 
- [转]12款最佳Linux命令行终端工具
		摘要 “工欲善其事必先利其器”,作为菜鸟,也是从别人那里偷学来的一些东东.今天看到同事用到一个终端命令行工具,觉得自己弱爆了.然后在网上搜了下该工具.发现类似的工具还是挺多的,只是自己不知道罢了. 原 ... 
随机推荐
- 在VS2017中创建C++的代码块模板
			在VS2017中创建C++的代码块模板 有任何问题,请留言!!! 在VS2017中有工具–>代码片段管理器,方便我们使用固有的代码块模板,同时我们也可以自定义模板. 在VS2017中代码片段的模 ... 
- 在 Docker 搭建 Maven 私有库
			在 Docker 搭建 Maven 私有库 小引 If you are developing software without a repository manager you are likely ... 
- Spring的SchedulingConfigurer实现定时任务
			前提:在做业务平台的时候我们经常会遇到,某些跟时间打交道的需要修改状态,比如说在时间区间之前,属于未生效状态,区间之内属于有效期,区间之后,属于过期,或者需要每天 每周 每月,甚至是年为单位的做一些固 ... 
- python可变与不可变数据类型+深浅拷贝
			转自:https://www.cnblogs.com/miaomiaokaixin/p/11497813.html 一:学习内容 python3中六种数据类型 python赋值 python浅拷贝 p ... 
- 安装nginx1.10和状态模块
			环境 操作系统: Centos7.2 内核: 3.10.0-327.el7.x86_64 nginx: nginx-1.10.0.tar.gz 安装: 1.安装依赖包 yum -y install g ... 
- defineProperty 和Proxy双向绑定演示,你还不知道么?
			双向绑定,也就是说js中的数据传到页面,页面中的内容到js,实现同步更新,简单的演示可以直接复制下放HTML代码运行. 在这个例子中,我们使用defineProperty ,Object.define ... 
- Qt子类化后qss设置背景色无效的问题
			1.问题背景 在某个类中,用到了一个组合的widget,有按钮进度条等,类似于视频播放器按钮控制区和精度条(参考了很多feiyangqingyun的文章,感谢),调试正常后整理代码,为了提高代码可读性 ... 
- MacOS安装npm
			原文链接:https://www.cnblogs.com/zmdComeOn/p/11543441.html 第一步:检查brew -v是否安装了homebrew这个MacOS 缺失的软件包的管理器. ... 
- Linux系统的基本操作
			20200727 Linux目录结构 基本介绍 Linux的文件系统是采用层级式的树状结构,在此结构中的最上层是/根目录 tip1:在Linux世界里,一切皆是文件 示例 /bin: bin是Bina ... 
- MapReduce之Combiner合并
			Combiner是MR程序中Mapper和Reducer之外的一种组件(本质是一个Reducer类) Combinr组件的父类就是Reducer Conbimer只有在驱动类里设置了之后,才会运行 C ... 
