基于 @Scheduled 注解的 ----定时任务

时间:2021-05-14 07:48:51
最常用的方法
@Scheduled 注解表示起开定时任务

依赖
基于 @Scheduled 注解的 ----定时任务基于 @Scheduled 注解的 ----定时任务
<dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>
View Code

 

在启动类上添加 这个注解即可自动开启任务    

@EnableScheduling//开启定时任务
基于 @Scheduled 注解的 ----定时任务基于 @Scheduled 注解的 ----定时任务
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.scheduling.annotation.EnableScheduling;

@SpringBootApplication
@EnableScheduling//开启定时任务
public class ScheduledApplication {

    public static void main(String[] args) {
        SpringApplication.run(ScheduledApplication.class, args);
    }

}
View Code

 

任务类

 

基于 @Scheduled 注解的 ----定时任务基于 @Scheduled 注解的 ----定时任务
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

import java.util.Date;

@Component
public class HelloComponent {
    /**
     * @Scheduled 注解表示起开定时任务
     *
     * fixedDelay  属性表示下一个任务在本次任务执行结束 2000 ms 后开始
     * fixedRate 表示下一个任务在本次任务开始 2000ms 之后开始
     * initialDelay 表示启动延迟时间
     */
    @Scheduled(cron = "0/5 * * * * ?")
    public void hello() {
        System.out.println("hello:"+new Date());
    }
}
View Code