Hutool工具包
详情介绍
Hutool工具包是一个Java工具集,软件类似于jodd和Apache commons lang的Java工具类。Hutool工具包对文件、流、加密解密、转码、正则、线程、XML、日期、Http客户端 等 JDK 方法进行封装,组成各种 Util 工具类。 它并非框架,而是一个工具类方法集合,随用随取,且随时可被替换,与任何框架不冲突。此软件的大部分工具方法并不依赖第三方包(extra模块对第三方框架封装工具类除外),轻量简洁。完善了单元测试机制,让开发人员提高工作效率!此外,Hutool工具包还提供了丰富的文件、日期、日志、正则、字符串、配置文件等工具方法,并封装了一套简单易用的ORM框架。适用于Java Web开发,可以与其它框架无耦合,并拥有高度可替换的特性,有需要的赶快下载吧!
通过DateUtil类,提供高度便捷的日期访问、处理和转换方式。
2、HTTP客户端
通过HttpUtil对HTTP客户端的封装,实现便捷的HTTP请求,并简化文件上传操作。
3、转换工具
通过Convert类中的相应静态方法,提供一整套的类型转换解决方案,并通过ConverterRegistry工厂类自定义转换。
4、配置文件工具(SETTING)
通过Setting对象,提供兼容Properties文件的更加强大的配置文件工具,用于解决中文、分组等JDK配置文件存在的诸多问题。
5、日志工具
Hutool的日志功能,通过抽象Log接口,提供对Slf4j、LogBack、Log4j、JDK-Logging的全面兼容支持。
6、JDBC工具类(DB模块)
通过db模块,提供对MySQL、Oracle等关系型数据库的JDBC封装,借助ActiveRecord思想,大大简化数据库操作。
缓存
克隆接口
类型转换
日期处理
数据库ORM(基于ActiveRecord思想)
基于DFA有限自动机的多个关键字查找
HTTP客户端
IO和文件
有用的一些数据结构
日志
反射代理类的简化(AOP切面实现)
Setting(一种扩展Properties的配置文件)
System(JVM和系统信息等)
WatchService的封装(文件变动监控)
XXXUtil各种有用的工具类
子模块
每个子模块可以被单独引入使用,修改左边名字为artifactId即可。如果想引入所有模块,可以引入hutool-all即可。
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 扩展模块,对第三方封装(模板引擎、邮件等)
hutool-http 基于HttpUrlConnection的Http客户端封装
hutool-log 自动识别日志实现的日志门面
hutool-script 脚本执行封装,例如Javascript
hutool-setting 功能更强大的Setting配置文件和Properties封装
hutool-system 系统参数调用封装(JVM信息等)
hutool-geo GeoHash封装
hutool-json JSON实现
通过Maven引入项目
RELEASE版本引用
在项目的pom.xml的dependencies中加入以下内容:
cn.hutoolhutool-all4.0.12
SNAPSHOT版本引用
添加SNAPSHOT支持:
org.sonatype.ossoss-parent9
引用SNAPSHOT版本的库
cn.hutoolhutool-all4.0.13-SNAPSHOT
通过Gradle引入项目
compile 'cn.hutool:hutool-all:4.0.12'
工具包的版本可以通过 http://search.maven.org/ 搜索hutool-all找到项目。
非Maven项目
直接下载jar包
可以从http://search.maven.org/ 搜索hutool-all找到项目,点击对应版本,下面是相应的Jar包,导入即可使用。
一键直达:http://search.maven.org/#search%7Cga%7C1%7Chutool-all
如果中央库访问不便,可以访问阿里云的资源:
http://maven.aliyun.com/nexus/content/groups/public/cn/hutool/hutool-all/
自行编译安装
访问Hutool的码云主页:https://gitee.com/loolly/hutool 下载整个项目源码(v4-master或v4-dev分支都可)然后进入Hutool项目目录执行:
bin/hutool.sh install
1、减少代码录入。
2、常用功能组合起来,实现一个功能只用一个方法。
3、简化Java API,原来需要几个类实现的功能我也只是用一个类甚至一个方法(想想为了个线程池我得new多少类……而且名字还不好记)
4、对于null的处理我没有可以回避,而是采取“你给我null我也给你返回null”这种思想,尽量不在工具类里抛空指针异常(这思想稍猥琐啊……直接把包袱扔给调用者了,好吧,谁让你给我null了)。
5、一些固定使用的算法收集到一起,不用每次问度娘了(例如Base64算法、MD5、Sha-1,还有Hash算法)
6、借鉴Python的很多小技巧(例如列表切片,列表支持负数index),让Java更加好用。7、非常好用的ORM框架,同样借鉴Python的Django框架,以键值对的实体代替对象实体,大大降低数据库访问的难度(再也不用像Hibernate一样配置半天ORM Mapping了)。
8、极大简化了文件、日期的操作,尤其是相对路径和绝对路径问题做了非常好的封装,降低学习成本。
hutool jar包特色
1、日期工具通过DateUtil类,提供高度便捷的日期访问、处理和转换方式。
2、HTTP客户端
通过HttpUtil对HTTP客户端的封装,实现便捷的HTTP请求,并简化文件上传操作。
3、转换工具
通过Convert类中的相应静态方法,提供一整套的类型转换解决方案,并通过ConverterRegistry工厂类自定义转换。
4、配置文件工具(SETTING)
通过Setting对象,提供兼容Properties文件的更加强大的配置文件工具,用于解决中文、分组等JDK配置文件存在的诸多问题。
5、日志工具
Hutool的日志功能,通过抽象Log接口,提供对Slf4j、LogBack、Log4j、JDK-Logging的全面兼容支持。
6、JDBC工具类(DB模块)
通过db模块,提供对MySQL、Oracle等关系型数据库的JDBC封装,借助ActiveRecord思想,大大简化数据库操作。
组件介绍
布隆过滤缓存
克隆接口
类型转换
日期处理
数据库ORM(基于ActiveRecord思想)
基于DFA有限自动机的多个关键字查找
HTTP客户端
IO和文件
有用的一些数据结构
日志
反射代理类的简化(AOP切面实现)
Setting(一种扩展Properties的配置文件)
System(JVM和系统信息等)
WatchService的封装(文件变动监控)
XXXUtil各种有用的工具类
Hutool工具包安装说明
注意Hutool工具包只支持JDK7+,对应Android平台也并不支持。子模块
每个子模块可以被单独引入使用,修改左边名字为artifactId即可。如果想引入所有模块,可以引入hutool-all即可。
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 扩展模块,对第三方封装(模板引擎、邮件等)
hutool-http 基于HttpUrlConnection的Http客户端封装
hutool-log 自动识别日志实现的日志门面
hutool-script 脚本执行封装,例如Javascript
hutool-setting 功能更强大的Setting配置文件和Properties封装
hutool-system 系统参数调用封装(JVM信息等)
hutool-geo GeoHash封装
hutool-json JSON实现
通过Maven引入项目
RELEASE版本引用
在项目的pom.xml的dependencies中加入以下内容:
cn.hutoolhutool-all4.0.12
SNAPSHOT版本引用
添加SNAPSHOT支持:
org.sonatype.ossoss-parent9
引用SNAPSHOT版本的库
cn.hutoolhutool-all4.0.13-SNAPSHOT
通过Gradle引入项目
compile 'cn.hutool:hutool-all:4.0.12'
工具包的版本可以通过 http://search.maven.org/ 搜索hutool-all找到项目。
非Maven项目
直接下载jar包
可以从http://search.maven.org/ 搜索hutool-all找到项目,点击对应版本,下面是相应的Jar包,导入即可使用。
一键直达:http://search.maven.org/#search%7Cga%7C1%7Chutool-all
如果中央库访问不便,可以访问阿里云的资源:
http://maven.aliyun.com/nexus/content/groups/public/cn/hutool/hutool-all/
自行编译安装
访问Hutool的码云主页:https://gitee.com/loolly/hutool 下载整个项目源码(v4-master或v4-dev分支都可)然后进入Hutool项目目录执行:
bin/hutool.sh install
软件优势
Hutool的设计思想是尽量减少重复的定义,让项目中的util这个package尽量少,总的来说有如下的几个思想:1、减少代码录入。
2、常用功能组合起来,实现一个功能只用一个方法。
3、简化Java API,原来需要几个类实现的功能我也只是用一个类甚至一个方法(想想为了个线程池我得new多少类……而且名字还不好记)
4、对于null的处理我没有可以回避,而是采取“你给我null我也给你返回null”这种思想,尽量不在工具类里抛空指针异常(这思想稍猥琐啊……直接把包袱扔给调用者了,好吧,谁让你给我null了)。
5、一些固定使用的算法收集到一起,不用每次问度娘了(例如Base64算法、MD5、Sha-1,还有Hash算法)
6、借鉴Python的很多小技巧(例如列表切片,列表支持负数index),让Java更加好用。7、非常好用的ORM框架,同样借鉴Python的Django框架,以键值对的实体代替对象实体,大大降低数据库访问的难度(再也不用像Hibernate一样配置半天ORM Mapping了)。
8、极大简化了文件、日期的操作,尤其是相对路径和绝对路径问题做了非常好的封装,降低学习成本。
同类软件
网友评论
共0条评论(您的评论需要经过审核才能显示)