目录
一.hutool简介
1.官放文档对hutool Api 的简介
2. 官方文档网址
https://www.hutool.cn/docs/#/
3.功能简介
是一个小而全的java工具类,用于替换Java项目的Util包下的内容,因为Util包下的内容多为一些重复的内容,Hutool可以方便开发者专注于业务核心代码,而不用重复造轮子。小而全是Hutool的特点之一,它借鉴整合了其它的工具包Apache commons,Guava等,涵盖了诸多如时间,集合格式转换等的工具包,也有关于I/O,excel,二维码等处理的工具,可谓应有尽有,做到真正的小而全,小是体量小,不依赖其它插件,最大程度遵守零依赖原则,全是功能全,涵盖了所有可能用到的工具类。
是一个与业务无关的工具类,是一套Java工具包,提供了许多与业务无关的常用方法,避免重复开发。
4.设计思想
Hutool的设计思想是尽量减少重复的定义,让项目中的util这个package尽量少,总的来说有如下的几个思想:
方法优先于对象
自动识别优于用户定义
便捷性与灵活性并存
适配与兼容
可选依赖原则
无侵入原则
二.hutool工具包的功能API:
1.hutool依赖包
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.5.1</version>
</dependency>
2.功能简介
一个java基础工具类,对文件、io、加密解密、正则、线程、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、二维码、Emoji、FTP、分词等) |
hutool-http | 很明显基于HttpUrlConnection的http客户端的封装 |
hutool-log | 自动识别日志实现的日志门面 |
hutool-script | 脚本执行封装,例如javaScript |
hutool-setting | 功能强大的setting配置文件和Properties封装 |
hutool-system | 系统参数调用封装(jvm信息) |
hutool-json | JSON实现 |
hutool-captcha | 图片验证码实现 |
hutool-poi | 很明显是对Excel和Word的封装 |
三. 练习小demo
设置别名方式:利用BeanUtil.toBean
blic static void main(String[] args) {
HashMap<String, Object> map = CollUtil.newHashMap();
map.put("a_id", 1);
map.put("b_name", "张三");
// 设置别名,用于对应bean的字段名
HashMap<String, String> mapping = CollUtil.newHashMap();
mapping.put("a_id", "id");
mapping.put("b_name", "name");
TestBean bean = BeanUtil.toBean(map, TestBean.class, CopyOptions.create().setFieldMapping(mapping));
System.out.println(bean);
}
测试输出结果:
TestBean(id=1,name="张三")