hutool(java工具包)

hutool(java工具包)

版本:v4.0.11 免费版大小:1.9M

类别:编译工具系统:WinXP, Win7, Win8, Win10

立即下载
  • hutool(java工具包) v4.0.11 免费版0

Hutool最新版提供免费使用的调试编程辅助,应用内置一些常用的小工具,帮助用户完成http客户端的封装.这里itmop带来详细的java工具包的介绍.欢迎感兴趣的用户来IT猫扑下载应用!

Hutool是什么

Hutool是一个Java工具包,也只是一个工具包,它帮助我们简化每一行代码,减少每一个方法,让Java语言也可以"甜甜的".Hutool最初是我项目中"util"包的一个整理,后来慢慢积累并加入更多非业务相关功能,并广泛学习其它开源项目精髓,经过自己整理修改,最终形成丰富的开源工具集.

hutool

应用特色

【适配与兼容】

在Hutool中,适配器模式运用特别广泛,log模块适配主流各大框架,db模块适配主流各种连接池和关系数据库.这种适配一是提高灵活性,二是可以很好的兼容各大框架,让Hutool可以在各种复杂项目环境中生存的很好.

适配兼容产生的另一个原则是:你有我配,你无我有.说白了就是:如果你项目中有这个框架,我可以完美适配,如果你没有引入任何框架,Hutool自身实现了一些逻辑可以很好的工作.

【便捷性与灵活性并存】

所谓便捷性,就是我们在调用一个方法的时候参数要尽量少,只传必要参数即可,非必要参数使用默认值即可(想想一个方法一堆参数的时候,调用者晕头转向不知所云).

所谓灵活性正好与便捷性相反,要让一个方法的参数尽量多,为用户灵活的操作方法提供最大可能性.

这两个原则看似矛盾,其实只是针对不同场景设定的而已,缺一不可.便捷性强调拿来即用,为快速开发提供可能;灵活性强调最大限度调优,为性能调优和扩展提供便利.

这一原则在针对编码问题上体现尤为突出,我们的大部分方法都是默认"UTF-8"编码的,这也是我们推荐的编码方式,推荐大部分项目使用的编码.但是一旦有遗留项目使用了类似"GBK"等编码,没关系,我们提供在相关方法中提供Charset对象参数,可以自定义编码.这样使用这一原则就兼顾了各种项目的情况.

【无侵入原则】

Hutool始终是一个工具类而不是框架,这意味着它对项目的侵入几乎为零,每个方法都是可被代替的,甚至整个Hutool也是可被替换的.这种无侵入性,让使用者可以更加放心的在项目中引入,也保证了与其它框架完美的兼容.

【自动识别优于用户定义】

其实很多时候,有些参数、设置等是没有必要我们自己传入的,完全可以靠逻辑判断自动完成.一个方法很多时候明明只需要传3个参数,我们非要传4个,这多出的一个参数本身就是代码的一种冗余.

这一原则在Hutool的各个角落都有所体现,尤为明显的比如log模块.构建日志对象的时候,很明显类名可以动态获取,何必让使用者再传入呢?再比如在db模块的数据库配置中,数据库驱动命名完全可以根据连接字符串判断出来,何必要让用户传入?这些问题的在Hutool中都有非常好的封装,而这一原则也渐渐变成Hutool哲学的一部分.

【方法优先于对象】

在工具类中,往往以静态方法为主.方法集中在一个类中,配合IDE查找使用起来是十分便利的.于是Hutool将jdk中许多的类总结抽象为一个方法,这一原则使用最多的就是流的相关方法,这些方法很好的隐藏了XXXInputStream、XXXReader等的复杂性.

【可选依赖原则】

在Java项目中依赖常常是个头疼的问题,不同的框架强依赖另一些框架或包,虽然Maven可以很好的处理冲突问题,但是项目底下满满的依赖jar包,是不是无形中拖慢了项目,也增加了复杂性和不确定性?而很多时候,我们是不是只是为了用一个小小的方法,就要引入一个第三方包,谁喜欢这样臃肿的项目?

Hutool中也会有一些依赖,但是全部都是optional的,在使用中不会关联依赖,而这些依赖只有在使用者使用到时才会调用,这时可能会报ClassNotFoundException,不用担心,我们自己引入即可.为什么要这样做呢?以VelocityUtil这个工具类为例,使用Velocity的人占比极少,我们不能为了这些用户而强引入Velocity包,而使用这个工具类的人应该明白,我们应该自己引入这个包.

而更多时候,我们需要用到某个方法时,我的做法是将方法拷贝到项目中(Hutool中的方法正在不断积累),类似于Apache Commons中的方法,Hutool中基本都有取代方法,完全不必要引入.

可选依赖原则让我们的项目更加精简,问题也更容易排查.

hutool框架(java工具类)

常用功能

hutool-aop JDK动态代理封装,提供非IOC下的切面支持

hutool-bloomFilter 布隆过滤,提供一些Hash算法的布隆过滤

hutool-cache 缓存

hutool-dfa 基于DFA模型的多关键字查找

hutool-extra 扩展模块,对第三方封装(模板引擎、邮件等)

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的封装

hutool-core 核心,包括Bean操作、日期、各种Util等

hutool-cron 定时任务模块,提供类Crontab表达式的定时任务

hutool-crypto 加密解密模块

hutool-db JDBC封装后的数据操作,基于ActiveRecord思想

更新说明

4.0.5

新特性

【json】 toBean方法支持Map.class参数,消除歧义

【core】FileWriter和FileUtil增加writeMap方法

【core】新增CsvWriter和CsvUtil

【poi】  改进ExcelWriter.flush未指定文件时的报错信息

【db】   在配置文件不存在时优化错误提示

【core】BeanUtil.beanToMap方法支持自定义key

【core】增加ModifierUtil,修饰符工具类

【http】下载文件时文件名首先从头信息中获取

【poi】  ExcelReader增加getcell方法

【db】   oracle驱动变更

【extra】扩充Sftp方法

【core】ImageUtil增加binary方法,生成二值化图片)

Bug修复

【poi】  修复ExcelReader获取Workbook为空的问题

【core】修复ImageUtil.scale的问题

【json】 修复JSON转字符串时值中双引号转义问题

4.0.4

新特性

【http】    HttpUtil.downloadFile增加超时重载

【setting】Setting增加构造重载

【core】   IterUtil增加fieldValueMap方法

Bug修复

【log】  修复StaticLog.warn打印级别错误问题

【core】修复MapUtil.newHashMap中isOrder

【core】修复DateTime.season获取的问题

查看全部

更新时间:2019-05-20
厂商名称:
包名:
MD5:
权限须知点击查看
权限管理须知关闭
玩家评论 QQ群号:203046401
我要跟贴
    取消
    猜你喜欢
      同类推荐
      热门精品
      显示全部+最新应用