SpringBoot---SpringBoot整合定时器(Spring自带定时任务框架Schedule)

       pom.xml加入基本坐标:web坐标


    org.springframework.boot
    spring-boot-starter-web

        编写定时任务,可以写到配置类中,也可以写到组件类中

@Component
@EnableScheduling
public class SchedulerTask{
	
	
	/*
	 * 
	 * DESC :  编写定时任务,每天凌晨1点执行一次
	 * 
	 */
	@Scheduled(cron = "0 0 1 * * ?")
	private void scheduleTask(){
		System.out.println("Schedule");
	}


}

         如果想要在项目启动时就执行一次定时任务,可以实现InitializingBean接口

@Component
@EnableScheduling
public class SchedulerTask implements InitializingBean{
	
	
	/*
	 * 
	 * DESC :  编写定时任务,每天凌晨1点执行一次
	 * 
	 */
	@Scheduled(cron = "0 0 1 * * ?")
	private void scheduleTask(){
		System.out.println("Schedule");
	}

	@Override
	public void afterPropertiesSet() throws Exception {
		this.scheduleTask();    //调用定时任务,项目初始化就会执行一次
	}


}

 

 

 

 

          关于定时任务中的时间设置 @Scheduled(cron = "0 0 1 * * ?")

每隔5秒执行一次任务:  "*/5 * * * * ?"

每隔1分钟执行一次任务:  "0 */1 * * * ?"

每天23点执行一次任务:  "0 0 23 * * ?"

每天凌晨1点执行一次任务:  "0 0 1 * * ?"

每月1号凌晨1点执行一次任务:  "0 0 1 1 * ?"

每月1号凌晨2点执行一次任务:  "0 0 2 1 * ? *"

每月最后一天23点执行一次任务:  "0 0 23 L * ?"

每周星期天凌晨1点执行一次任务:  "0 0 1 ? * L"

26分、29分、33分各执行一次任务:  "0 26,29,33 * * * ?"

每天的0点、13点、18点、21点各执行一次任务:   "0 0 0,13,18,21 * * ?"

周一到周五每天上午10:15执行一次任务:  "0 15 10 ? * MON-FRI" 

2020-2021年的每个月的最后一个星期五上午10:15执行一次任务: "0 15 10 ? 6L 2020-2021"

 

 

 

你可能感兴趣的:(SpringBoot)