springboot定时任务基于注解

本文介绍如何在 Spring Boot 应用中使用 @EnableScheduling 和 @Scheduled 注解来实现定时任务,包括固定时间间隔和基于 cron 表达式的任务调度,并展示了具体的代码示例和运行结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

 

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.scheduling.annotation.EnableScheduling;

@SpringBootApplication
@EnableScheduling//开启对定时任务的支持
public class DemoApplication {

   public static void main(String[] args) {
      SpringApplication.run(DemoApplication.class, args);
   }
}

 

项目启动定时任务启动

 

 

 

@Slf4j
@Component
public class Atask {

    @Scheduled(cron = "*/10 * * * * ?")//按照指定时间执行
    public  void  aTask(){
        log.info("10秒执行一次当前时间");
    }

    @Scheduled(fixedRate = 5000)//fixedRate间隔固定的时间触发定时任务
    public void aaa(){
        log.info("5秒执行一次");
    }

}

根据设定的时间表达式触发定时任务

 

触发结果

2018-04-13 13:59:47.020  INFO 8240 --- [pool-1-thread-1] com.example.myproject.atask.Atask        : 5秒执行一次
2018-04-13 13:59:50.002  INFO 8240 --- [pool-1-thread-1] com.example.myproject.atask.Atask        : 10秒执行一次
2018-04-13 13:59:52.020  INFO 8240 --- [pool-1-thread-1] com.example.myproject.atask.Atask        : 5秒执行一次
2018-04-13 13:59:57.020  INFO 8240 --- [pool-1-thread-1] com.example.myproject.atask.Atask        : 5秒执行一次
2018-04-13 14:00:00.000  INFO 8240 --- [pool-1-thread-1] com.example.myproject.atask.Atask        : 10秒执行一次
2018-04-13 14:00:02.021  INFO 8240 --- [pool-1-thread-1] com.example.myproject.atask.Atask        : 5秒执行一次
2018-04-13 14:00:07.020  INFO 8240 --- [pool-1-thread-1] com.example.myproject.atask.Atask        : 5秒执行一次
2018-04-13 14:00:10.002  INFO 8240 --- [pool-1-thread-1] com.example.myproject.atask.Atask        : 10秒执行一次
2018-04-13 14:00:12.020  INFO 8240 --- [pool-1-thread-1] com.example.myproject.atask.Atask        : 5秒执行一次

 

定时任务只需这两个注解即可

@EnableScheduling,
@Scheduled

定时任务表达式

点击打开链接

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值