您好,登錄后才能下訂單哦!
這篇文章主要介紹怎么在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è)資訊頻道!
免責(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)容。