溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

怎么在Spring Boot啟動后執(zhí)行指定代碼

發(fā)布時間:2021-02-08 15:58:24 來源:億速云 閱讀:325 作者:小新 欄目:編程語言

這篇文章主要介紹怎么在Spring Boot啟動后執(zhí)行指定代碼,文中介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們一定要看完!

在開發(fā)時有時候需要在整個應(yīng)用開始運(yùn)行時執(zhí)行一些特定代碼,比如初始化環(huán)境,準(zhǔn)備測試數(shù)據(jù)等等。

在Spring中可以通過ApplicationListener來實(shí)現(xiàn)相關(guān)的功能,不過在配合Spring Boot使用時就稍微有些區(qū)別了。

創(chuàng)建ApplicationListener

這里以填充部分測試數(shù)據(jù)為例子,首先實(shí)現(xiàn)ApplicationStartup類。

publicclass ApplicationStartup implements ApplicationListener<ContextRefreshedEvent> {
@Override
publicvoidonApplicationEvent(ContextRefreshedEvent event) {
SourceRepository sourceRepository = event.getApplicationContext().getBean(SourceRepository.class);
Source je =new Source("justice_eternal吧","http://tieba.baidu.com/f?kw=justice_eternal");
sourceRepository.save(je);
}
}

這類并不會自動執(zhí)行,需要我們注冊。

硬編碼注冊

Spring Boot有一個類SpringApplication,這個類是Spring Boot的入口,包含所有的配置。

 @Configuration

@ComponentScan

@EnableAutoConfiguration

publicclass WebApplication
{

publicstaticvoidmain(String[] args)
{

SpringApplication springApplication=new SpringApplication(WebApplication.class);

springApplication.addListeners(new ApplicationStartup());

springApplication.run(args);

}

}

硬編碼的弊端在于無法區(qū)別環(huán)境,當(dāng)我們需要部署應(yīng)用到生產(chǎn)環(huán)境時需要修改代碼。

配置文件

Spring Boot支持profiles模式,在application.properties中配置

spring.profiles.active=dev

然后在application-dev.properties中配置開發(fā)環(huán)境的參數(shù)。

增加一個配置來注冊自定義的監(jiān)聽器

context.listener.classes=cn.acgmo.ApplicationStartup

以上是“怎么在Spring Boot啟動后執(zhí)行指定代碼”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI