Spring Boot 使用@Scheduled注解创建定时任务

2022-11-01 12:46:55

pom.xml

        //引入web依赖和单元测试依赖
        <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>

在Application启动类上添加@EnableScheduling注解启动定时

@SpringBootApplication(scanBasePackages = "com.xx.test")
@MapperScan("com.xx.test.dao")
@EnableScheduling
public class TestApplication {
 
    public static void main(String[] args) {
        SpringApplication.run(TestApplication.class, args);
    }
 
}

使用@Component和@Scheduled(cron="0 0/5 * * * ?")启动定时任务

//@Compoment注解将定时任务类纳入spring bean管理
@Component
public class DemoScheduledTask{

    @Scheduled(cron="0 0/5 * * * ?")
    public void test1() {
        System.out.println("每5分钟执行一次");
    }

    @Scheduled(cron="0 0 23 * * ?")
    public void test2() {
        System.out.println("每天23点执行一次");
    }

    @Scheduled(fixedRate=30000)
    public void test3() {
        System.out.println("每30秒执行一次");
    }

}

这样就可以启动定时任务了

  • 作者:紫冰Nan
  • 原文链接:https://blog.csdn.net/NN_nan/article/details/93038134
    更新时间:2022-11-01 12:46:55