SpringBoot 定时任务之@Scheduled cron表达式

在Spring Boot中,@Scheduled注解配合Cron表达式可以用来定义定时任务。

Cron表达式是一种灵活的时间表达方式,通常用于配置任务的执行周期。

以下是一些关键点和示例:

1. 开启定时任务支持

        要在Spring Boot应用中使用定时任务,首先需要在配置类上添加@EnableScheduling注解。

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

@SpringBootApplication
@EnableScheduling
public class ScheduleApplication {
    public static void main(String[] args) {
        SpringApplication.run(ScheduleApplication.class, args);
    }
}

2. 使用@Scheduled和Cron表达式

        在需要执行定时任务的方法上添加@Scheduled注解,并通过cron属性指定Cron表达式。

        Cron表达式的格式:

                Cron表达式由六个或七个字段组成,从左至右分别代表:

                        秒(0-59)

                        分钟(0-59)

                        小时(0-23)

                        日(1-31)

                        月(1-12)

                        星期(0-6,其中0和7都是星期天)

                        年(可选,留空则表示任何年份)
                示例:
                        假设想要每天凌晨2点执行一个任务,Cron表达式可以这样写:

import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

@Component
public class MyTask {

    @Scheduled(cron = "0 2 * * *")
    public void run() {
        System.out.println("Task executed at: " + new Date());
    }
}

        更复杂的Cron表达式

                Cron表达式还支持一些特殊字符,如*(任意值)、?(不指定)、-(范围)、,(列表)、/(步长)等。

                例如,每周一到周五的上午9点执行任务:

@Scheduled(cron = "0 9 ? * MON-FRI")
public void workDayTask() {
    // 业务逻辑
}

3. 注意事项

        Cron表达式的解析依赖于运行环境的时区设置,确保你的应用服务器时区设置正确。

        测试Cron表达式是否正确,可以使用在线Cron表达式解析工具或调试程序中的定时任务。

  • 14
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值