本文適用於SpringBootv2.5.4版本。
例程下載: https://files.cnblogs.com/files/heyang78/myBank-timedtask-210911_2129.rar
使用前提:
1.pom.xml引入spring-boot-starter-web依賴
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency>
因為Spring task包含在spring-context.jar中。
2.啟動類加入@EnableScheduling注解
@EnableScheduling @SpringBootApplication public class MyBankApplication { public static void main(String[] args) { SpringApplication.run(MyBankApplication.class, args); } }
完成以上兩步后,就可以書寫定時任務類了。
import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; @Component public class TestTask { @Scheduled(cron="*/5 * * * * ?") public void run() { System.out.println("Hello"); } }
這里要注意兩點,第一是類名一定要加@Component,不加任務就啟動不起來;第二要定時運行的函數要加@Scheduled,之后寫克龍表達式。關於克龍表達式的寫法可以參考:
https://www.cnblogs.com/heyang78/p/3678650.html
之后,run函數就每隔五秒運行一次了。
-END--