安利一波那个叫做 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 伴随几个项目的推进,获得了同事一致好评. 没经过实践和 ...
- 安利一波:Adobe 2019全家桶 破解版
之前发过一篇Photoshop破解的文章,今天把笔记本换了个系统,发现之前那个amtlib.dll替换破解的方式不适用于最新版的Adobe 2019 CC系列了,刚好看到群里有大佬分享了一个全家桶,给 ...
- 安利一波这12个IDEA插件,太香了!
这里补充一下常用的插件, 非常值得安利一波! 1.日晒主题 Solarized Themes 推荐指数:☆☆☆☆☆ 推荐理由:日晒主题本身是为vim定制的.后来移植到ide 非常酷!配色非常耐看. ...
- 安利一波ubuntu18.04作为开发环境,极度舒适
乌班图18更新也一年多了吧,除了最开始的尝鲜,最近才真正使用起来.用完的感受是完爆Windows,比起OSX也不差. 开发环境需要的东西: git shell idea chrome firefox ...
- Excel催化剂开源第31波-pdf相关功能实现及类库介绍
在Excel催化剂刚推出的pdf相关功能中,反馈很热烈,不止是用户层面好多人喜欢,也听到在.NET开发群里有询问pdf在winform上展现的功能诉求,一段时间没写开源篇,生怕大家以为Excel催化剂 ...
- Angular2开发笔记
Problem 使用依赖注入应该注意些什么 服务一般用来做什么 指令一般用来做什么 angular2如何提取公共组件 angular2为什么不需要提公共组件 父组件与子组件之间如何通讯 什么时候应该使 ...
- 机器学习笔记----Fuzzy c-means(FCM)模糊聚类详解及matlab实现
前言:这几天一直都在研究模糊聚类.感觉网上的文档都没有一个详细而具体的讲解,正好今天有时间,就来聊一聊模糊聚类. 一:模糊数学 我们大家都知道计算机其实只认识两个数字0,1.我们平时写程序其实也是这样 ...
- vue.js组件化开发实践
前言 公司目前制作一个H5活动,特别是有一定统一结构的活动,都要码一个重复的轮子.后来接到一个基于模板的活动设计系统的需求,便有了下面的内容.借油开车. 组件化 需求一到,接就是怎么实现,技术选型自然 ...
- VUE.JS组件化
VUE.JS组件化 前言 公司目前制作一个H5活动,特别是有一定统一结构的活动,都要码一个重复的轮子.后来接到一个基于模板的活动设计系统的需求,便有了下面的内容.借油开车. 组件化 需求一到,接就是怎 ...
随机推荐
- 201521123115 《Java程序设计》第12周学习总结
1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多流与文件相关内容. 2. 书面作业 将Student对象(属性:int id, String name,int age,doubl ...
- 201521123029《Java程序设计》第十一周学习总结
1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多线程相关内容. 2. 书面作业 1.互斥访问与同步访问 完成题集4-4(互斥访问)与4-5(同步访问) 1.1 除了使用synch ...
- while循环_do_while循环_switch
swith语法: switch(值) { case 值1: 语句 break; case 值2: 语句 break; case 值3: 语句 break; default: break; } 1.值与 ...
- geyear和getfullyear的区别
getYear(),IE中获得正确年份,但有的浏览器获取的是当前年份-1900的值.而IE是当大于2000时,直接加上1900 getFullYear(),都是可以获得正确年份. 所以建议使用getF ...
- 命令导入导出oracle库
目前还是新手:所以记录下来最笨的方式,留用 一.从服务器先把库导出来 exp sys/mima@orcl file = "d:\pybghs.dmp" full=y 二.从服 ...
- Hibernate逆向工程【PowerDesigner、idea环境下】
为什么要使用逆向工程 由于我们每次编写Hibernate的时候都需要写实体,写映射文件.而且Hibernate的映射文件也容易出错.而逆向工程可以帮我们自动生成实体和映射文件,这样就非常方便了. 使用 ...
- 将数据转成JSON
前言 前面我们在使用Strus2的时候,Struts2自带了组件能够让JavaBean对象.集合转成是JSON,不用我们自己拼接-这是非常方便的.但是,我们不一定使用Struts2框架来做开发呀.因此 ...
- display:flex css
本文介绍下flex的用法和属性 这个一个自适应的3列盒子 <div class="flex"> <div style="background-color ...
- mysql 存储引擎介绍1
1.1 存储引擎的使用 数据库中的各表均被(在创建表时)指定的存储引擎来处理. 服务器可用的引擎依赖于以下因素: MySQL的版本 服务器在开发时如何被配置 启动选项 为了解当前服务器中有哪些存储引 ...
- ThinkJS框架入门详细教程(一)开发环境
一.前端标配环境 1.nodeJS正确安装,可以参考:http://www.cnblogs.com/chengxs/p/6221393.html 2.git正确安装,可以参考:http://www.c ...