(10)SpringBoot创建定时任务
发布日期:2021-06-30 11:08:07 浏览次数:2 分类:技术文章

本文共 2117 字,大约阅读时间需要 7 分钟。

640?wx_fmt=png

   摘要:本文主要讲解使用SpringBoot创建定时任务。

项目中经常会需要做一些定时处理的任务,比如每间隔多久做个统计,发个邮件,清理个数据。这时候就要用到定时任务,SpringBoot中,创建定时任务非常简单,具体步骤如下:

1.注解开启定时任务

在程序的启动类上加上@EnableScheduling注解,就会自动启用定时任务。

package com.java4all; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; import java.time.LocalDateTime; @SpringBootApplication @EnableAutoConfiguration @RestController @EnableScheduling @MapperScan("com.java4all.dao") public class TmallApplication {
   public static void main(String[] args) {
       SpringApplication.run(TmallApplication.class, args);    }    @RequestMapping(value = "login",method = RequestMethod.GET)    public String login(){
       return "欢迎登陆:"+ LocalDateTime.now();    } }

2.创建定时任务

单独创建一个类,用来存放定时任务,然后在每个定时任务方法上,用注解标明定时任务的执行周期。我这里以每间隔10秒打印一下当前系统时间为例,注意@Component注解。

package com.java4all.task; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; /**  * Author: momo  * Date: 2018/4/9  * Description:定时任务类  */ @Component public class ScheduledTask {
   private final Logger logger = LoggerFactory.getLogger(getClass());    @Scheduled(fixedRate = 10000)    public void printTime(){
       logger.info("定时任务,现在时间:"+System.currentTimeMillis());    } }

3.@Scheduled的几种用法

  • @Scheduled(fixedRate = 5000) :上一次开始执行时间点之后5秒再执行

  • @Scheduled(fixedDelay = 5000) :上一次执行完毕时间点之后5秒再执行

  • @Scheduled(initialDelay=1000, fixedRate=5000) :第一次延迟1秒后执行,之后按fixedRate的规则每5秒执行一次

  • @Scheduled(cron="*/5 * * * * *") :通过cron表达式定义规则

注意,这里的时间,单位是毫秒,1秒=1000毫秒

4.运行项目

项目启动后,我们就会在控制台看到每隔10秒会打印当前时间。

640?wx_fmt=png

↓↓点击
阅读原文
,查看完整源码。
640?wx_fmt=gif

与其相忘江湖,不如点赞关注

本文为  java4all (公众号:java4all)原创

欢迎转载,请注明出处或文末给出二维码

谢谢!

转载地址:https://it4all.blog.csdn.net/article/details/89037694 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:(9)SpringBoot使用JdbcTemplate访问数据库
下一篇:(13)SpringBoot使用poi上传excel文件

发表评论

最新留言

关注你微信了!
[***.104.42.241]2024年04月26日 23时30分06秒