Spring boot啟動類別程式碼,加入了@EnableScheduling註解來開啟計時器功能
@SpringBootApplication @EnableScheduling // 开启定时功能 public class Application { public static void main(String[] args) { SpringApplication.run(Application.class,args); } }
調度任務程式碼,需要透過@Component註解將任務類別注入到IoC容器中
@Component public class TestSchedulingTask { // 这个cron表达式代表从0秒开始,每过3秒执行一次。 @Scheduled(cron = "0/3 * * * * ?") public void test(){ // 大家可以根据公司的业务来实现,更希望是@Autowrite注入service层的接口,业务逻辑写在service层中。 // 这里测试我就输出当前系统时间了... Date date = new Date(System.currentTimeMillis()); String rule = "yyyy-MM-dd HH:mm:ss"; SimpleDateFormat simpleDateFormat = new SimpleDateFormat(rule); String format = simpleDateFormat.format(date); System.out.println(format); } }
這裡注意每個任務方法都要加上@Scheduled註解,並且規定好cron表達式。
完全可以放心,而且網路上也有線上產生cron表達式的網站,我們來看看控制台輸出的結果吧。
cron表達式
範圍 | 允許的字元 | |
0-59 | ,/-* | |
0-59 | ,/-* | |
0-23 | ,/-* | |
1-31(需要考慮月份不一致) | ,/-*?LW | |
1-12(對應的英文縮寫也行) | , /-* | |
1-7 | ,/-*?L | |
這玩意基本上用不到 | 這玩意基本上用不到 |
以上是怎麼用SpringBoot實現定時器的詳細內容。更多資訊請關注PHP中文網其他相關文章!