一.入门案例

启动类:
package com.sky;
import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cache.annotation.EnableCaching;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.transaction.annotation.EnableTransactionManagement;
@SpringBootApplication
@EnableTransactionManagement //开启注解方式的事务管理
@Slf4j
@EnableCaching // 开启缓存注解功能
@EnableScheduling // 开启定时任务功能
public class SkyApplication {
public static void main(String[] args) {
SpringApplication.run(SkyApplication.class, args);
log.info("server started");
}
}
定时任务类:
首先我们创建一个task包(定时任务包),接着创建MyTask定时任务类。需要加@Component注解,将该类实例化并交给Spring容器管理。注意定时任务方法没有返回值,且方法名任意。
package com.sky.task;
import lombok.extern.slf4j.Slf4j;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import java.util.Date;
@Component
@Slf4j
public class MyTask {
@Scheduled(cron = "0/5 * * * * ?") // cron表达式,用来指定定时任务的执行时间
public void executeTask() {
log.info("定时任务触发:{}",new Date());
}
}
@Scheduled注解来指定任务什么时候触发,书写cron表达式。该表达式代表每个5秒触发一次。
写定时任务类关注两点:
1.什么时候触发(cron表达式)
2.业务逻辑
