springboot定时任务

1、第一种方式,Timer类

public static void main(String[] args) {
    new Timer().schedule(new TimerTask() {
        @Override
        public void run() {
            System.out.println("执行任务:" + LocalDateTime.now());
        }
    }, 1000, 1000);
}

2、使用ScheduledExecutorService

public static void main(String[] args) {
    ScheduledExecutorService service = Executors.newScheduledThreadPool(10);
    service.scheduleAtFixedRate(() -> System.out.println("执行任务A:" + LocalDateTime.now()), 0, 3, TimeUnit.SECONDS);
}

 

3、使用Spring Task

  3.1导入依赖,只需引入spring-boot-starter-web即可,Spring Task包含在其中


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

  3.2主类加上注解@EnableScheduling

  3.3示例代码

package com.llg.mybatis.task;

import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

import java.time.LocalDateTime;

@Component
public class SpringTask {

    @Scheduled(cron = "0/1 * * * * *")
    public void printSomething(){
        System.out.println("执行任务:" + LocalDateTime.now());
    }
}

启动程序即可实现每秒打印一下当前时间

此外还可以使用quartz工具来实现定时任务

 

 

你可能感兴趣的:(spring,boot)