Spring Task的简单介绍和使用(常用于定时操作)

介绍:

介绍:Spring Task是Spring框架提供的任务调度工具,可以按照约定的时间来自动执行某个代码逻辑。

作用:定时执行某段Java代码。

应用场景:

信用卡每月还款提醒;

贷款每月还款提醒;

未支付订单自动处理;

只要是需要定时处理的任务都可以使用Spring Task。

cron的介绍(使用Spring Task的基础要求):

使用cron表达式:

该表达式是一个字符串,用来描述任务触发的时间。

分为6或7个域;每个域由空格分隔开;

每个域为:秒、分钟、小时、日、月、周(星期几)、年(可选)。

例子:

2022年10月12日上午8点整;

秒、分钟、小时、日、月、周、年(可选)。

0 0 8 12 10 ? 2022;

因此表达式为:

(0 0 8 12 10 ? 2022)

为什么周是?;周和日会有冲突;(一般日和周的值不同时设置,其中一个设置,另一个用?表示。)

{秒数} {分钟} {小时} {日期} {月份} {星期} {年份(可为空)}

网站直接生成:在线Cron表达式生成器

在SpringBoot项目中使用Spring Task:

使用步骤:

1.导入maven坐标Spring-context;

2.启动类添加注解@EnableScheduling开启任务调度。

3.自定义定时任务类。(业务逻辑)(使用到了cron表达式)

详细步骤:

依赖:

(一般在这个依赖中,一般能启动服务器程序,都有这个依赖了)

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter</artifactId>
</dependency>

简单案例:

SpringBoot的启动类:

@SpringBootApplication
@EnableTransactionManagement //开启注解方式的事务管理,可以不用加,会自动开启
@Slf4j
@EnableCaching //开启缓存注解功能;
@EnableScheduling //开启Spring Task 定时任务调度;自己定义的任务调度类才会生效。
public class SkyApplication {
    public static void main(String[] args) {
        SpringApplication.run(SkyApplication.class, args);
        log.info("server started");
    }
}

定时任务类:

// 定义定时任务类
@Component //要加这个,让该类进入Spring容器实例化,才能执行该类代码;
@Slf4j //日志注解,log
public class MyTask {

    /**
     * 定时任务,一个简单的例子
     *
     */
    @Scheduled(cron = "0/5 * * * * ?")  // 间隔5秒执行,日和周一般使用一个。
    public void executeTask(){  //方法名任意,一般是业务名称
        log.info("定时任务开始执行:{}",new Date());
    }


}

结果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值