今天就跟大家聊聊有關(guān)怎么在Spring Boot中啟動及退出加載項,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
十年建站經(jīng)驗, 網(wǎng)站設(shè)計、成都網(wǎng)站制作客戶的見證與正確選擇。創(chuàng)新互聯(lián)提供完善的營銷型網(wǎng)頁建站明細報價表。后期開發(fā)更加便捷高效,我們致力于追求更美、更快、更規(guī)范。
如果你需要在啟動SpringApplication后執(zhí)行一些具體的代碼,你可以實現(xiàn)ApplicaitonRunner
或者CommandLineRunner
接口。兩個接口都實現(xiàn)了一個工作方式相同的run
方法,該方法僅會在SpringApplication.run(...)前執(zhí)行。
唯一不同的是實現(xiàn)CommandLineRunner
接口的run
方法參數(shù)為String
類型,而實現(xiàn)ApplicaitonRunner
的run
方法的參數(shù)則是需要ApplicationArguments
。官方文檔中有個例子供參考。
如果有多個ApplicaitonRunner
或者CommandLineRunner
接口的實現(xiàn)存在啟動順序,則可以使用org.springframework.core.Ordered
接口或者org.springframework.core.annotation.Order
注解的形式來給他們排序。
由于我沒有參數(shù)類型等的限制,所以用哪個接口都一樣,寫個跟官方不一樣的,于是代碼大概長這樣:
import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.ApplicationArguments; import org.springframework.boot.ApplicationRunner; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.stereotype.Component; @Component public class InstructionStart implements ApplicationRunner { private Logger logger = LoggerFactory.getLogger(this.getClass()); @Autowired private JdbcTemplate template; @Override public void run(ApplicationArguments applicationArguments) throws Exception { String increment = "0"; logger.info("初始化遞增起始值為:{}", increment); template.execute("ALTER TABLE `table` AUTO_INCREMENT = " + increment); } }
深刻的意識到腦子和屁股一樣重要。
寫完啟動項,那么再把退出也說一下:
每一個SpringApplication
都應(yīng)該向JVM
注冊一個鉤子函數(shù)來確保ApplicationContext
能優(yōu)雅地關(guān)閉。使所有的標準Spring
生命周期回調(diào)(例如DisposableBean
接口和@PreDestroy
注解)都可用。
此外,如果你希望beans在調(diào)用SpringApplication.exit()
時返回特定的退出代碼,則可以實現(xiàn)org.springframework.boot.ExitCodeGenerator
接口,這些退出代碼會被傳給System.exit()
作為返回的狀態(tài)碼。官方還給了個例子,就是下面這個。
@SpringBootApplication public class ExitCodeApplication { @Bean public ExitCodeGenerator exitCodeGenerator() { return () -> 42; } public static void main(String[] args) { System.exit(SpringApplication .exit(SpringApplication.run(ExitCodeApplication.class, args))); } }
當然,ExitCodeGenerator
也可以由異常來實現(xiàn),當遇到一個這樣的異常時,Sprin Boot會返回實現(xiàn)了getExitCode()
方法的退出代碼。
springboot一種全新的編程規(guī)范,其設(shè)計目的是用來簡化新Spring應(yīng)用的初始搭建以及開發(fā)過程,SpringBoot也是一個服務(wù)于框架的框架,服務(wù)范圍是簡化配置文件。
看完上述內(nèi)容,你們對怎么在Spring Boot中啟動及退出加載項有進一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。
當前名稱:怎么在SpringBoot中啟動及退出加載項
文章源于:http://www.chinadenli.net/article36/goodsg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站、服務(wù)器托管、外貿(mào)建站、動態(tài)網(wǎng)站、網(wǎng)站制作、關(guān)鍵詞優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)