Hutool,一个Java的工具集合,是我前几天在码云上闲
的时候发现的。发现其功能贼强大,因而乎就测试了一下其中的部分工具,一会儿就被这个工具给吸引住了。html
Hutool是Hu + tool的自造词,前者致敬个人“前任公司”,后者为工具之意,谐音“糊涂”,寓意追求“万事都做糊涂观,无所谓失,无所谓得”的境界。java
Hutool是一个Java工具包,也只是一个工具包,它帮助咱们简化每一行代码,减小每个方法,让Java语言也能够“甜甜的”。Hutool最初是我项目中“util”包的一个整理,后来慢慢积累并加入更多非业务相关功能,并普遍学习其它开源项目精髓,通过本身整理修改,最终造成丰富的开源工具集。(抄自做者简介)web
一个Java基础工具类,对文件、流、加密解密、转码、正则、线程、XML等JDK方法进行封装,组成各类Util工具类,同时提供如下组件:算法
这两天使用Hutool把Halo里面的一些代码给替换掉了,不得不说,用起来十分顺心,下面简单介绍一下我用到的一些Hutool的工具类。数据库
主要是在登陆的时候还有修改密码的时候用到的,由于数据库里面的密码是md5加密处理的,因此登陆的时候须要先加密以后再到数据库进行查询,使用Hutool的话,只须要调用SecureUtil
中的md5方法就能够了。json
user = userService.userLoginByName(loginName,SecureUtil.md5(loginPwd));
这个工具类就比较厉害了,不过我在Halo当中用得最多的仍是HtmlUtil.encode
,能够将一些字符转化为安全字符,防止xss注入和SQL注入,好比下面的评论提交。缓存
comment.setCommentAuthor(HtmlUtil.encode(comment.getCommentAuthor()));
这就是防止有小坏蛋故意写一些可执行的js代码,而后提交评论,在后台面板就会执行这一段代码,比较危险,使用encode方法就能够将<script>
标签给转化成<script>
,这样转化以后,js代码就不会执行了。安全
另外,HtmlUtil还提供了如下方法,有兴趣的能够去试一下。bash
这个工具就更厉害了,彻底不须要相似quartz
这样的框架来作定时任务,并且CronUtil也不须要任何其余依赖,只须要在resources下建一个配置文件,而后在程序启动的时候将定时任务开启就好了,如Halo的定时备份功能(天天凌晨1点备份一次)。框架
cron.setting:
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("定时任务启动成功!");
}
具体使用方法请看文档http://hutool.mydoc.io/?t=255673
好了,就介绍这三个工具类,有兴趣的能够去试试其余的工具,挺全的,这应该是我用过最好用的一个工具类库了,值得一试。
ps:很久没更了,水一篇。