八 SpringBoot定時任務和非同步呼叫

2021-10-06 17:39:03 字數 2551 閱讀 7712

​ 本節我來介紹一下在springboot中定時任務的使用以及非同步呼叫。實現springboot的定時任務非常簡單,我們可以運用springboot提供的註解來實現。

>

>

org.springframework.bootgroupid

>

>

spring-boot-starter-parentartifactid

>

>

2.0.0.releaseversion

>

parent

>

>

>

>

org.springframework.bootgroupid

>

>

spring-boot-starter-webartifactid

>

dependency

>

dependencies

>

定義乙個定時任務,我們可以使用註解**@scheduled**。該註解提供多個引數,我來展示一下第乙個引數fixedrate

/**

* @author 小吉

* @description 定時任務

* @date 2020/6/1

*/@component

public

class

task

}

在啟動類上使用註解**@enablescheduling**,可以開啟定時任務。

/**

* @author 小吉

* @description springboot啟動類

* @date 2020/6/1

*/@enablescheduling

public

class

main

}

註解**@scheduled提供了另乙個重要的引數,也是我們最常用的引數cron**。接下來我來演練一下cron引數的使用。

/**

* @author 小吉

* @description 定時任務

常用的cron表示式如下:

*/5 * * * * ? 每隔5秒執行一次

0 */1 * * * ? 每隔1分鐘執行一次

0 0 1 * * ? 每天凌晨1點執行一次:

0 0 1 1 * ? 每月1號凌晨1點執行一次

0 0 23 l * ? 每月最後一天23點執行一次

0 0 1 ? * l 每週星期天凌晨1點實行一次

0 26,29,33 * * * ? 在26分、29分、33分執行一次

0 0 0,13,18,21 * * ? 每天的0點、13點、18點、21點都執行一次

1)編寫非同步任務介面以及實現
/**

* @author 小吉

* @description

* @date 2020/6/1

*/public

inte***ce

fileservice

/**

* @author 小吉

* @date 2020/6/1

*/@service

public

class

fileserviceimpl

implements

fileservice

catch

(interruptedexception e)

system.out.

println();}}

此時我們可以使用**@async**註解來定義我們的非同步任務。

2)編寫控制器

/**

* @author 小吉

* @description springboot非同步呼叫

​ 當我們訪問download的時候,後台馬上返回提示。在返回提示之前開啟了非同步任務,非同步任務可以用來實現需要耗時的操作且馬上響應的場景。

SpringBoot 定時任務

第一步 在啟動類中加入如下註解 enablescheduling public class public static void main string args 注意 enablescheduling必須加,否則無法開啟定時任務 第二步 建立定時任務 component public class ...

Spring boot定時任務

最近做專案,需要使用定時任務,半個小時去更新redis資料,於是便學習了一下經驗。希望可以幫到你們。定時任務可使用三種 created by fx on 2017 9 4.component allargsconstructor public class featuredatatask 實現乙個任務...

Spring boot 定時任務

1.在啟動類上加 enablescheduling註解 package com.example.demo import org.springframework.scheduling.annotation.enablescheduling enablescheduling public static ...