SpringBoot 使用@Scheduled注解配置定时任务

定时任务简单解析

这里使用的是spring自带的定时任务框架内,只需要一个注解就可以使用定时任务。

SpringBoot自带的Scheduled,是一个轻量级的Quartz

代码演示

项目的启动类需要加注解@EnableScheduling

/**
 * @Author: Mqs
 * @Date: 2018/9/19 14:26
 * @Description: springBoot 项目的启动类
 */
@SpringBootApplication
@EnableScheduling
public class DemoApplication {

	public static void main(String[] args) {
		SpringApplication.run(DemoApplication.class, args);
	}
}
package com.test.demo.web.quartz;

import ch.qos.logback.classic.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

import java.util.Date;

/**
 * @Author: Mqs
 * @Date: 2018/9/27 14:18
 * @Description:
 */
@Component
public class UserTask {

    /**
     * 日志文件
     */
    private Logger logger = (Logger) LoggerFactory.getLogger(UserTask.class);

    @Scheduled(cron = "0/30 * * * * ?")
    public void taskOne(){
        logger.info("每分钟到30秒的时候执行一次" + new Date());
    }

    @Scheduled(initialDelay = 10 * 1000, fixedDelay = 20 * 1000)
    public void taskTwo(){
        logger.info("只执行一次,第一次执行要延迟10秒" + new Date());
    }

    @Scheduled(fixedRate = 5 * 1000)
    public void taskFour(){
        logger.info("每五秒执行一次" + new Date());
    }


}

结果演示

猜你喜欢

转载自blog.csdn.net/wildwolf_001/article/details/83276393