一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - 詳解spring boot容器加載完后執(zhí)行特定操作

詳解spring boot容器加載完后執(zhí)行特定操作

2021-03-26 11:24獻給記性不好的自己 Java教程

這篇文章主要介紹了詳解spring boot容器加載完后執(zhí)行特定操作,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

有時候我們需要在spring boot容器啟動并加載完后,開一些線程或者一些程序來干某些事情。這時候我們需要配置ContextRefreshedEvent事件來實現(xiàn)我們要做的事情

1、ApplicationStartup類

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public class ApplicationStartup implements ApplicationListener<ContextRefreshedEvent>{
  public void onApplicationEvent(ContextRefreshedEvent event)
   {
    //在容器加載完畢后獲取dao層來操作數(shù)據(jù)庫
    OSSVideoRepository ossVideoRepository = (OSSVideoRepository)event.getApplicationContext().getBean(OSSVideoRepository.class);
    //在容器加載完畢后獲取配置文件中的配置
    ServerConfig serverConfig = (ServerConfig)event.getApplicationContext().getBean(ServerConfig.class);
    
    ServerFileScanner fileScanner = new ServerFileScanner(
        ossVideoRepository, serverConfig.getScanpath());
    //在容器加載完畢后啟動線程
    Thread thread = new Thread(fileScanner);
    thread.start();
   }
}

2、ServerConfig 類

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
@Component
@ConfigurationProperties(prefix = "server")
public class ServerConfig {
  private String aliyunossEndpoint;
  private String aliyunossAccessKeyId;
  private String aliyunossAccessKeySecret;
  private String aliyunossBucketName;
  private String scanpath;
 
  public String getAliyunossEndpoint() {
    return aliyunossEndpoint;
  }
 
  public void setAliyunossEndpoint(String aliyunossEndpoint) {
    this.aliyunossEndpoint = aliyunossEndpoint;
  }
 
  public String getAliyunossAccessKeyId() {
    return aliyunossAccessKeyId;
  }
 
  public void setAliyunossAccessKeyId(String aliyunossAccessKeyId) {
    this.aliyunossAccessKeyId = aliyunossAccessKeyId;
  }
 
  public String getAliyunossAccessKeySecret() {
    return aliyunossAccessKeySecret;
  }
 
  public void setAliyunossAccessKeySecret(String aliyunossAccessKeySecret) {
    this.aliyunossAccessKeySecret = aliyunossAccessKeySecret;
  }
 
  public String getAliyunossBucketName() {
    return aliyunossBucketName;
  }
 
  public void setAliyunossBucketName(String aliyunossBucketName) {
    this.aliyunossBucketName = aliyunossBucketName;
  }
 
  public String getScanpath() {
    return scanpath;
  }
 
  public void setScanpath(String scanpath) {
    this.scanpath = scanpath;
  }
 
}

PS:還有一些spring內置的事件

1、 ContextRefreshedEvent:ApplicationContext容器初始化或者刷新時觸發(fā)該事件。
2、 ContextStartedEvent:當使用ConfigurableApplicationContext接口的start()方法啟動ApplicationContext容器時觸發(fā)該事件。
3、 ContextClosedEvent:當使用ConfigurableApplicationContext接口的close()方法關閉ApplicationContext容器時觸發(fā)該事件。
4、 ContextStopedEvent: 當使用ConfigurableApplicationContext接口的stop()方法停止ApplicationContext容器時觸發(fā)該事件。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

原文鏈接:https://www.jianshu.com/p/01f7a971a4b9

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 久久久精品免费视频 | 亚洲国内精品久久 | 欧洲第一页 | 久久99亚洲AV无码四区碰碰 | 天天干女人 | 国产成人久久久精品一区二区三区 | 免费精品一区二区三区在线观看 | 亚洲精品国产福利片 | 国产精品免费小视频 | 日韩欧美在线一区二区三区 | 小仙夜晚慰自催眠mp3护士篇 | 三年片韩国在线 | 亚洲欧美日韩中文高清一 | 国语在线 | 俄罗斯美女破苞 | 无遮挡h肉动漫高清在线 | 99热久久这里只有精品23 | 国产另类视频一区二区三区 | 东方影视欧美天天影院 | 韩剧消失的眼角膜免费完整版 | 日韩国产欧美精品综合二区 | 娇妻被又大又粗又长又硬好爽 | 91传媒制片厂果冻有限公司 | 天天操天天爽天天射 | 40分钟在线观看免费 | 海派甜心完整版在线观看 | 国产私拍精品88福利视频 | 激情影院免费观看 | 亚洲 欧美 在线观看 | 亚洲精品福利一区二区在线观看 | 亚洲激情网站 | 香蕉97超级碰碰碰免费公 | 十八女下面流水不遮免费 | 欧美日韩在线观看一区二区 | 亚洲国产精久久久久久久 | 国产好深好硬好爽我还要视频 | 日韩精选在线 | 天天爱天天插 | gay中国| 激情乱文 | 114毛片免费观看网站 |