【推荐】Hutool 的通用工具类库

摘自3.1.1版本作者发布原话,当时看到有点说不上的情绪,为作者的坚持、热爱点个赞。
已经想不起来是怎样结识 Hutool 的,但 Hutool 伴随几个项目的推进,获得了同事一致好评。
没经过实践和检验的东西,自己也不会轻易推荐出来,Hutool 确实很优秀很强大,我觉得是时候抽时间安利一波。
好东西应该拿出来分享,让更多的程序员兄弟姐妹们收益,减少工作量将更多的时间投入其他地方。
记得自己在闲暇整理和组织过一个类似的类库:【干货分享】通用工具类 ,自我遇到 Hutool 后,这项目已被冷落很长时间。
来描述下我推荐 Hutool 几个最主要的原因:
首先 Hutool 对自己的定位很清晰,做用户的超级工具,依赖其他类库基本上都是可选的。
例如你需要对 Excel、Word 进行处理,那么你项目中势必会依赖 POI ,然后直接使用 Hutool-Poi 减低代码量即可。
Hutool 除了对特定内容需要引入可选依赖以外,绝大数都是在 JDK 基础上进行的封装,对项目的污染性降低到了最低,几乎不可见的地步。
简洁的调用参数、良好的设计模式、主要功能覆盖全面的测试用例、详尽的中文注释,替代 common-XX 系列基本上是稳稳的。

其次 Hutool 组织非常合理,由 maven 分很多小模块进行构建。

根据自身项目需求可以选择引入其中的一个或者多个模块,甚至是粘贴其中独立的类或者方法。
相比只需一个方法就要引入一个类库的做法要舒服的多,对那些喜欢简洁的编程者也不失为一个好的选择,
最后 Hutool 的生态圈扩张的非常广泛,有全国各地的小伙伴在项目中使用,反馈 BUG 、提出更好的设计意见。
前几天发现 Hutool 已评为开源中国的 MVP 项目,作为开源类库能走到今天的地步,我觉得已经非常不错了。
好的东西是岁月沉淀下来的,不是某些人嘴里忽悠的概念、炒作的资本。
我上述描述可能难免有遗漏和错误,如果你想更好的了解 Hutool。
主页地址:http://hutool.cn/
我和作者只是聊过一两次,没有任何关系,只是想将好东西分享给大家,独乐乐不如众乐乐。
【推荐】Hutool 的通用工具类库的更多相关文章
- 安利一波那个叫做 hutool 的通用工具类库
摘自3.1.1版本作者发布原话,当时看到有点说不上的情绪,为作者的坚持.热爱点个赞. 已经想不起来是怎样结识 Hutool 的,但 Hutool 伴随几个项目的推进,获得了同事一致好评. 没经过实践和 ...
- (19/24) webpack实战技巧:推荐使用的第三方类库打包方法
在日常的开发中,总避免不了引入第三方的框架,比如常用的JQuery,此节我们来学习一下如何优雅并正确的用webpack引入第三方库. 这里我们以第三方框架JQuery为例: 1.在入口文件中引入 1. ...
- .Net使用Redis详解之ServiceStack.Redis(七)
序言 本篇从.Net如何接入Reis开始,直至.Net对Redis的各种操作,为了方便学习与做为文档的查看,我做一遍注释展现,其中会对list的阻塞功能和事务的运用做二个案例,进行记录学习. Redi ...
- Android App的设计架构:MVC,MVP,MVVM与架构经验谈
相关:http://www.cnblogs.com/wytiger/p/5996876.html 和MVC框架模式一样,Model模型处理数据代码不变在Android的App开发中,很多人经常会头疼于 ...
- CommonJS Promises/A规范
本文来自四火哥的翻译 CommonJS是一组javascript编程规范,而promise是其中之一. 简而言之,promises是一种令代码的异步行为变得更加优雅的软件抽象.在基本的定义中,代码可能 ...
- ASP.NET防御XSS跨站攻击
目前做ASP.NET项目的时候就有遇到过“用户代码未处理HttpRequestValidationException:从客户端***中检测到有潜在危险的 Request.Form/Request.Qu ...
- Atitit.javascript 实现类的方式原理大总结
Atitit.javascript 实现类的方式原理大总结 1. 实现类的式::构造方法方式:原型方式:构造方法+原型的混合方式 1 2. 原型方式(function mode)经典式..实现属性推荐 ...
- EntityFrameWork实现部分字段获取和修改(含源码)
EntityFrameWork类库,是微软推出的ORM组件,它是基于Ado.Net的,个人感觉还是非常 好用的.以下介绍的2个功能点分别是部分字段更新和获取 解决部分字段Update.本方案采用仓储模 ...
- .Net使用Redis详解之ServiceStack.Redis(七) 转载https://www.cnblogs.com/knowledgesea/p/5032101.html
.Net使用Redis详解之ServiceStack.Redis(七) 序言 本篇从.Net如何接入Reis开始,直至.Net对Redis的各种操作,为了方便学习与做为文档的查看,我做一遍注释展现 ...
随机推荐
- NIO缓冲区基本操作:rewind(),clear(),flip()
rewind() rewind()方法将position置0,清除mark,它的作用在于为提取Buffer的有效数据做准备. ByteBuffer byteBuf = ByteBuffer.alloc ...
- shell编程第三天
- Asp.Net判断文件是否存在
在上传文件时经常要判断文件夹是否存在,如果存在就上传文件,否则新建文件夹再上传文件 判断语句为 if (System.IO.Directory.Exists(Server.MapPath(" ...
- Android图片缓存框架Glide
Android图片缓存框架Glide Glide是Google提供的一个组件.它具有获取.解码和展示视频剧照.图片.动画等功能.它提供了灵活的API,帮助开发者将Glide应用在几乎任何网络协议栈中. ...
- C# 使用三层架构实例演示-winForm 窗体登录功能
---------------------------------------------------------------------------------------------------华 ...
- 英语口语练习系列-C33-露营-谈论日期-离思
词汇-露营 Camping camping 露营 campground camping camper picnic bonfire backpack tent public campground co ...
- nodejs,koa2常用模块
"dependencies": { "multer": "^1.2.0", "node-schedule": " ...
- FZU2259 : 图
假设删除的边是$(u,v)$,分两种情况讨论: $1.$删除$(u,v)$之后$(u,v)$不再连通,那么说明$(u,v)$是图的桥,同时整个图都要是二分图. $2.$删除$(u,v)$之后$(u,v ...
- 安装并运行Hello World
新建虚拟环境并安装Flask pip install Flask 运行HelloWorld from flask import Flask #导入Flask类 app = Flask(__name__ ...
- Alpha冲刺(2/10)——2019.4.25
所属课程 软件工程1916|W(福州大学) 作业要求 Alpha冲刺(2/10)--2019.4.25 团队名称 待就业六人组 1.团队信息 团队名称:待就业六人组 团队描述:同舟共济扬帆起,乘风破浪 ...