这几天做了一个谷歌验证码的小项目,由于验证码是每30秒刷新的。一开始采用的是前端发送刷新请求,获取时间戳后倒计时,但是发现会出现bug,由于谷歌那边是每0s和每30s准时刷新,但是我的是根据用户访问网页时候才发送刷新请求,就会导致会有时间差。于是又改成用@Schedule来定时刷新,前端只负责获取到验证码和时间戳,不再对系统进行操纵。
下面来说说如何使用@Schedule
了解一个新玩意最好的方法是官方文档!
https://spring.io/guides/gs/scheduling-tasks/
1.@EnableScheduling
该@EnableScheduling注释确保后台任务执行被创建。没有它,什么都无法安排。
package com.example.schedulingtasks;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.scheduling.annotation.EnableScheduling;
@SpringBootApplication
@EnableScheduling
public class SchedulingTasksApplication {
public static void main(String[] args) {
SpringApplication.run(SchedulingTasksApplication.class);
}
}