1.功能简述:SpringTask是Spring框架提供的任务调度工具,可以按照约定的时间自动执行某个代码逻辑。
2.应用场景:①信用卡每月还款提 ②银行贷款每月还款提醒 ③火车票售票系统处理未支付订单 ④入职纪念日为用户发送通知 ⑥.......
3.导入依赖:如果是springboot工程,一般不需要导入,因为这个功能本身的依赖很小,都不足以独自用一个包封装,这个依赖是在:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-json</artifactId>
</dependency>
这个json的相关依赖里面的一部分:
在springboot工程启动类上添加启动依赖:
@EnableScheduling//开启springTask定时任务调度
4.技术点---cron表达式:
简述:cron表达式其实就是一个字符串,通过cron表达式可以定义任务触发的时间
书写规范:
备注:cron表达式上的周和日一般不会同时定义时间,两个其中会有一个定义为? 因为:每月有四个周一,每个周一日期都是不一样的,在定义时,不能保证周一是一个固定的日。 也不能保证当前月的周一和下月的周一是一个日,比如这周一是10是一号,但是下月的10号可能就是周二了。
cron表达式生成方式:
直接用网站生成:这里推荐一个cron表达式在线生成器:cron.qqe2.com/
5.最重要的就是要定义一个自定义定时任务类,这个是功能逻辑编写的主要区域。
(QwQ)全部代码展示:
/**
* 定义定时任务类
*
* @param
* @return
*/
@Component
@Slf4j
public class MyTask {
/**
* 定时任务每隔5秒触发一次
*
* @param
* @return
*/
@Scheduled(cron = "0/5 * * * * ?")//springTask的设置任务怎么定时出发的表达式
//其中"0/5 * * * * ?"表示六个或七个变量,用空格隔开,分别表示 秒,分,时,日,月,周,年(可写可以不写)
//这个里面表示日和周的变量,一般只有一个设置值,另一个设置成?(问号)
public void executeTask(){
log.info("定时任务开始执行:{}",new Date());
}
}
注:@Component ->把类添加到IOC容器之中。@Slf4j这一个注解可以省略,不然会报错!!