Spring Boot笔记(四) springboot 集成 @Scheduled 定时任务

1、在SpringBoot 项目中使用@Scheduled注解执行定时任务:

配置pom.xml 依赖:

一般情况下,SpringBoot 的 相关依赖,如:

                <dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>
Spring Boot笔记(四) springboot 集成  @Scheduled 定时任务

是有包含对应  @Scheduled 定时注解启动所需要的jar包的,如下:

import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
Spring Boot笔记(四) springboot 集成  @Scheduled 定时任务

2、创建定时类

(1)@Component : 将当前类实例化注入到容器中

(2)定时器的生效要素:

@Scheduled(cron="0/5 * *  * * ? ")   //每5秒执行一次
Spring Boot笔记(四) springboot 集成  @Scheduled 定时任务

在程序启动时,定时器会开始计时,并根据设定时间执行设置好的任务内容,线程的执行是以单线程进行

(3)创建以下定时类

package com.example.poiutis.quartz;


import com.example.poiutis.common.SystemLogHandler;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

/**
 * @ClassName HandleTimeQuartz
 * @Description TODO
 * @Author wushaopei
 * @Date 2019/7/25 20:23
 * @Version 1.0
 */
@Component
public class HandleTimeQuartz {
    // 系统日志
    //private static SystemLogHandler systemLogger = SystemLogHandler
   //         .getLogger(HandleTimeQuartz.class);

   private static Logger logger = LoggerFactory.getLogger(InvoiceController.class);

    @Scheduled(cron="0/5 * *  * * ? ")
    public void userStatusJob() {

        System.out.println("进入测试");
        logger.info(System.currentTimeMillis()+"");
    }
}
Spring Boot笔记(四) springboot 集成  @Scheduled 定时任务

在 程序入口处添加注解

Spring Boot笔记(四) springboot 集成  @Scheduled 定时任务Spring Boot笔记(四) springboot 集成  @Scheduled 定时任务

直接启动后会自动执行:效果如下:

Spring Boot笔记(四) springboot 集成  @Scheduled 定时任务Spring Boot笔记(四) springboot 集成  @Scheduled 定时任务

GitHub

上一篇:IDEA使用springboot自带scheduled实现任务调度


下一篇:SpringBoot @Scheduled定时任务