八 SpringBoot之任務(非同步,定時,郵件)

2021-10-07 09:04:59 字數 1459 閱讀 6094

在service中寫乙個方法

//告訴spring這是乙個非同步方法

@async

public

void

hello()

catch

(interruptedexception e)

system.out.

println

("處理資料中...");

}

在controller層呼叫並跳轉頁面

@autowired

asyncservice asyncservice;

("/hello"

)public string hello()

現在這個情況下除了在方法上面宣告非同步@async外還需要在啟動類上面加上@enableasync註解來啟動非同步功能!此時訪問localhost:8080/hello就會馬上相應頁面,後台的方法會延遲三秒後執行,但是頁面不會有延遲!這樣的頁面才會更友好!

定時任務用到了兩個註解@scheduled和@enablescheduling

第乙個註解是加在方法上面,用引數來宣告多久執行一次看**

@service

public

class

scheduledservice

}

對於引數不需要記憶,有這樣乙個**,裡面可以自動生成

郵件任務的話就需要匯入mail的starter了

>

>

org.springframework.bootgroupid

>

>

spring-boot-starter-mailartifactid

>

dependency

>

郵件需要宣告的首先需要宣告一下自己的郵箱什麼的吧,這個mailproperties中有引數說明,在配置檔案中配置一下相應的

spring.mail.username=*********@qq.com

#這裡是郵箱的授權碼

spring.mail.password=gtstkoszjelabijb

#郵箱的伺服器主機

spring.mail.host=smtp.qq.com

#qq郵箱需要設定安全連線才能使用

spring.mail.properties.mail.smtp.ssl.enable=true

現在開始寫測試方法,發郵件

@test

public

void

contextloads()

@test

public

void

test02()

throws exception

springboot任務之定時任務

1 service包下新建scheduleservice類 package com.example.springboottask.service import org.springframework.scheduling.annotation.scheduled import org.springf...

springboot任務之定時任務

在啟動入口上加上 enablescheduling 在需要定時的方法上加上 scheduled註解 比如 package com.gong.spingbootes.service import org.springframework.scheduling.annotation.scheduled i...

springboot之定時任務

pom 包裡面只需要引入 spring boot starter 包即可 org.springframework.boot spring boot starter org.springframework.boot spring boot starter test test 在啟動類上面加上 enab...