Util工具类 --hutool 定时任务

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 扩展模块,对第三方封装(模板引擎、邮件等) hutool-http 基于 HttpUrlConnection 的 Http 客户端封装 hutool-log 自动识别日志实现的日志门面 hutool-script 脚本执行封装,例如 Javascript hutool-setting 功能更强大的 Setting 配置文件和 Properties 封装 hutool-system 系统参数调用封装(JVM 信息等) hutool-json JSON 实现 hutool-captcha 图片验证码实现

CronUtil(定时任务): 不需要类似 quartz 这样的框架来做定时任务,而且 CronUtil 也不需要任何其他依赖,只需要在 resources 下建一个配置文件,然后在程序启动的时候将定时任务开启就行了。

测试: maven引入:

<dependency>
        <groupId>cn.hutool</groupId>
        <artifactId>hutool-all</artifactId>
        <version>4.1.0</version>
    </dependency>

对于Maven项目,首先在src/main/resources/下创建config包,在包中放入cron.setting文件(默认是这个路径的这个文件) 定时规则如下: 每2秒执行一次

# 我是注释
#执行的类或对象方法所在包的名字
[com.yy]
#需要执行的类名和方法名
test.print =*/2 * * * * *

测试代码:

package com.yy;

/**
 * 
 * @author yy
 * @date 2021年8月19日
 *
 */
public class test {
          
   
	public void print(){
          
   
		System.out.println("***我执行了print方法***");
	}
}

主类:

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.web.bind.annotation.RestController;

import cn.hutool.cron.CronUtil;

@RestController
@EnableAutoConfiguration
public class Application {
          
   

    public static void main(String[] args) throws Exception {
          
   
        SpringApplication.run(Application.class, args);
        //支持秒级别定时任务
        CronUtil.setMatchSecond(true);//此时Hutool可以兼容Quartz表达式(5位表达式、6位表达式都兼容/6位精确到秒)
        CronUtil.start();
    }

}

效果:

SecureUtil(加密解密工具)

主要是在登录的时候还有修改密码的时候用到的,因为数据库里面的密码是 md5 加密处理的,所以登录的时候需要先加密之后再到数据库进行查询,使用 Hutool 的话,只需要调用 SecureUtil 中的 md5 方法就可以了。

经验分享 程序员 微信小程序 职场和发展