SpringBoot中添加監(jiān)聽器及創(chuàng)建線程的代碼示例
Application主程序上添加注解
@ServletComponentScan(basePackages= {"com.qyj.listeners"})// 添加監(jiān)聽器所在的包名監(jiān)聽程序
package com.qyj.listeners;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.redis.core.StringRedisTemplate;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import javax.servlet.annotation.WebListener;
@WebListener
public class AudioPlayListener implements ServletContextListener {
@Autowired
private StringRedisTemplate redisTemplate;
@Value("${qyj.fee-type}")
private String feeType;
// 當(dāng)后臺(tái)被初始化,即發(fā)生了tomcat啟動(dòng)了事件,固定用法
@Override
public void contextInitialized(ServletContextEvent event) {
// 你要做的事兒,寫在這里
System.out.println("AudioPlay is running(語音播報(bào)-循環(huán)監(jiān)聽中)...");
// 新建線程while循環(huán)處理語音播報(bào)
new Thread(new AudioPlayThread(redisTemplate, feeType)).start();
}
// 當(dāng)后臺(tái)被銷毀,即發(fā)生了tomcat關(guān)閉了事件,固定用法
@Override
public void contextDestroyed(ServletContextEvent event) {
System.out.println("后臺(tái)被銷毀");
}
}新建線程
package com.qyj.listeners;
import com.qyj.constant.RedisConstant;
import com.qyj.utils.AudioPlayUtil;
import org.springframework.data.redis.core.StringRedisTemplate;
import java.util.concurrent.TimeUnit;
public class AudioPlayThread implements Runnable{
// 因?yàn)榫€程是new出來的 所以此處不能再通過依賴注入獲取信息了
private String feeType;
private StringRedisTemplate redisTemplate;
public AudioPlayThread(StringRedisTemplate redisTemplate, String feeType) {
this.redisTemplate = redisTemplate;
this.feeType = feeType;
}
@Override
public void run() {
while(true){
try {
System.out.println("這是繼承Thread類創(chuàng)建的線程");
} catch (Exception e) {
e.printStackTrace();
}
}
}
}到此這篇關(guān)于SpringBoot中添加監(jiān)聽器及創(chuàng)建線程的代碼示例的文章就介紹到這了,更多相關(guān)SpringBoot 添加監(jiān)聽器及創(chuàng)建線程內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
一篇文章帶你入門Springboot沙箱環(huán)境支付寶支付(附源碼)
螞蟻沙箱環(huán)境 (Beta) 是協(xié)助開發(fā)者進(jìn)行接口功能開發(fā)及主要功能聯(lián)調(diào)的輔助環(huán)境。沙箱環(huán)境模擬了開放平臺(tái)部分產(chǎn)品的主要功能和主要邏輯2021-06-06
如何解決項(xiàng)目中java heap space的問題
這篇文章主要介紹了如何解決項(xiàng)目中java heap space的問題,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07
Java調(diào)用商品詳情API的項(xiàng)目實(shí)踐
在現(xiàn)代電子商務(wù)網(wǎng)站中,商品詳情API是一個(gè)重要的組件,本文就來介紹一下Java調(diào)用商品詳情API的項(xiàng)目實(shí)踐,具有一定的參考價(jià)值,感興趣的可以了解一下2023-11-11
Java IO三大模型(BIO/NIO/AIO)的使用總結(jié)
相信很多Java開發(fā)剛接觸IO模型時(shí),都會(huì)被「BIO、NIO、AIO」「同步、異步、阻塞、非阻塞」這些概念繞暈,下面就來詳細(xì)的介紹一下 IO三大模型的使用,感興趣的可以了解一下2026-02-02
java實(shí)現(xiàn)Excel轉(zhuǎn)換為圖片
在實(shí)際開發(fā)過程中,經(jīng)常會(huì)有這樣的需求,需要將Excel表格或特定區(qū)域轉(zhuǎn)換為圖片,所以小編今天就來為大家介紹一下如何使用Java將Excel轉(zhuǎn)化為圖片吧2023-10-10
Spring Task定時(shí)任務(wù)的配置和使用詳解
本篇文章主要介紹了Spring Task定時(shí)任務(wù)的配置和使用詳解,實(shí)例分析了Spring Task定時(shí)任務(wù)的配置和使用的技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2017-04-04

