這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)?lái)有關(guān)SpringBoot 實(shí)現(xiàn)添加容器啟動(dòng)的初始化邏輯的方法,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
創(chuàng)新互聯(lián)為您提適合企業(yè)的網(wǎng)站設(shè)計(jì)?讓您的網(wǎng)站在搜索引擎具有高度排名,讓您的網(wǎng)站具備超強(qiáng)的網(wǎng)絡(luò)競(jìng)爭(zhēng)力!結(jié)合企業(yè)自身,進(jìn)行網(wǎng)站設(shè)計(jì)及把握,最后結(jié)合企業(yè)文化和具體宗旨等,才能創(chuàng)作出一份性化解決方案。從網(wǎng)站策劃到成都網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì), 我們的網(wǎng)頁(yè)設(shè)計(jì)師為您提供的解決方案。SpringBoot 啟動(dòng)類和應(yīng)用監(jiān)聽(tīng)器
首先,SpringBoot 啟動(dòng)類中可以添加應(yīng)用的初始化邏輯,但是打包方式不同,添加的地方也有差異。
jar 包:使用內(nèi)嵌 Tomcat 時(shí),可以直接寫在 main 函數(shù)中,且 SpringApplication.run
代碼之前,容器未啟動(dòng),此時(shí)無(wú)法獲取 getBean
實(shí)例。war 包:外部部署時(shí),main 函數(shù)中的方法不會(huì)被執(zhí)行,可以在 configure 方法中添加初始化邏輯,此時(shí)容器未啟動(dòng),無(wú)法獲取 getBean
實(shí)例。
其次,就是自定義容器啟動(dòng)監(jiān)聽(tīng)器類,為其添加 @Componnet
注解:
@Component public class InitContextListener implements ApplicationListener{ private static Logger logger = Logger.getLogger(InitContextListener.class); @Override public void onApplicationEvent(ContextRefreshedEvent contextRefreshedEvent) { // 設(shè)置全局配置信息文件存儲(chǔ)路徑 String path = ClassUtils.getDefaultClassLoader().getResource("").getPath(); logger.info("onApplicationEvent 項(xiàng)目部署路徑為:"+path); VersionManager.resourcePath = path; // TODO 應(yīng)用初始化邏輯,容器此時(shí)已啟動(dòng),getBean 獲取實(shí)例 OK } }