Hutool是一个Java基础工具类,对文件、流、加密解密、转码、正则、线程、XML等JDK方法进行封装,组成各种Util工具类,同时提供以下组件:
- 布隆过滤
- 缓存
- 克隆接口
- 类型转换
- 日期处理
- 数据库ORM(基于ActiveRecord思想)
- 基于DFA有限自动机的多个关键字查找
- HTTP客户端
- IO和文件
- 有用的一些数据结构
- 日志
- 反射代理类的简化(AOP切面实现)
- Setting(一种扩展Properties的配置文件)
- System(JVM和系统信息等)
- WatchService的封装(文件变动监控)
- XXXUtil各种有用的工具类
简介
Hutool是一个Java工具包,也只是一个工具包,它帮助我们简化每一行代码,减少每一个方法,让Java语言也可以“甜甜的”。Hutool最初是我项目中“util”包的一个整理,后来慢慢积累并加入更多
Hutool是Hu + tool的自造词,谐音“糊涂”,寓意追求“万事都作糊涂观,无所谓失,无所谓得”的境界。
文档
简单测试
SecureUtil(加密解密工具)
在登录的时候还有修改密码的时候用到,因为数据库里面的密码是md5加密处理的,所以登录的时候需要先加密之后再到数据库进行查询,使用Hutool的话,只需要调用SecureUtil中的md5方法就可以了。
user = userService.userLoginByName(loginName,SecureUtil.md5(loginPwd));
htmlUtil(html工具类)
评论提交的时候,可以用 htmlUtil.encode 将一些字符转化为安全字符,防止xss注入和SQL注入。
comment.setCommentAuthor(htmlUtil.encode(comment.getCommentAuthor()));
CronUtil(定时任务)
CronUtil 不需要任何其他依赖,只需要在 resources 下建一个配置文件,然后在程序启动的时候将定时任务开启,如定时备份功能(每天凌晨1点备份一次)。
cc.ryanc.halo.web.controller.admin.BackupController.backupResources = 0 0 1 * * ?
cc.ryanc.halo.web.controller.admin.BackupController.backupDatabase = 0 0 1 * * ?
cc.ryanc.halo.web.controller.admin.BackupController.backupPosts = 0 0 1 * * ?
@Override
public void onApplicationEvent(ContextRefreshedEvent event){
this.loadActiveTheme();
this.loadOptions();
this.loadFiles();
this.loadThemes();
//启动定时任务
CronUtil.start();
log.info("定时任务启动成功!");
}