统一工具类的意义
pig 尽量避免自己造轮子封装工具类,让代码可读性更高。Hutool帮助我们简化每一行代码,减少每一个方法,然代码可读性、容错性更高。完整文档方便使用 hutool-doc,避免每个开发乱引入造成辣鸡代码。
hutool 提供类哪些功能
一个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、二维码等)
- 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-all方式引入所有模块。
pig 开发中使用
common-core 模块已引入最新的hutool-all 工具类,系统中可以直接使用无需再次引入。
<!--hutool-->
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>${hutool.version}</version>
</dependency>
使用例子
比如记录日志时候,从request获取参数的字符串
HttpUtil.toParams(request.getParameterMap())
获取当前时间
//当前时间,格式 yyyy-MM-dd HH:mm:ss
DateUtil.now()