一、Scheduled定时任务
Scheduled定时任务器:是Spring3.0以后自带的一个定时任务器。
二 创建项目:25-spring-boot-scheduled
三 修改pom.xml
注意:在spring-boot-starter-web启动器中并没有添加Scheduled定时任务器,所以需要另外添加。
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.3.RELEASE</version>
</parent>
<groupId>com.bjsxt</groupId>
<artifactId>25-spring-boot-schuduled</artifactId>
<version>0.0.1-SNAPSHOT</version>
<properties>
<java.version>1.8</java.version>
<tymeleaf.version>3.0.2.RELEASE</tymeleaf.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<!-- 添加Scheduled坐标 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
</dependency>
</dependencies>
</project>
四 编写定时任务类
package com.bjsxt.scheduled;
import java.util.Date;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
/**
* scheduled定时任务
*
*/
@Component
public class ScheduledDemo {
/**
* 定时任务方法
* @Scheduled:设置定时任务
* cron属性:cron表达式,定时任务触发时间的字符串表达形式
*/
@Scheduled(cron="0/2 * * * * ?")
public void scheduledMethod() {
System.out.println("定时器被触发" + new Date());
}
}
五 在启动类中开启定时任务的使用
package com.bjsxt;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.scheduling.annotation.EnableScheduling;
@SpringBootApplication
@EnableScheduling
public class App {
public static void main(String[] args) {
SpringApplication.run(App.class, args);
}
}
执行结果:
定时器被触发Mon Apr 22 16:37:30 CST 2019
定时器被触发Mon Apr 22 16:37:32 CST 2019
定时器被触发Mon Apr 22 16:37:34 CST 2019
定时器被触发Mon Apr 22 16:37:36 CST 2019
定时器被触发Mon Apr 22 16:37:38 CST 2019
定时器被触发Mon Apr 22 16:37:40 CST 2019