真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

怎么在SpringBoot中啟動(dòng)及退出加載項(xiàng)

今天就跟大家聊聊有關(guān)怎么在Spring Boot中啟動(dòng)及退出加載項(xiàng),可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

十年建站經(jīng)驗(yàn), 網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作客戶的見證與正確選擇。創(chuàng)新互聯(lián)提供完善的營銷型網(wǎng)頁建站明細(xì)報(bào)價(jià)表。后期開發(fā)更加便捷高效,我們致力于追求更美、更快、更規(guī)范。

怎么在Spring Boot中啟動(dòng)及退出加載項(xiàng)

如果你需要在啟動(dòng)SpringApplication后執(zhí)行一些具體的代碼,你可以實(shí)現(xiàn)ApplicaitonRunner或者CommandLineRunner接口。兩個(gè)接口都實(shí)現(xiàn)了一個(gè)工作方式相同的run方法,該方法僅會(huì)在SpringApplication.run(...)前執(zhí)行。

唯一不同的是實(shí)現(xiàn)CommandLineRunner接口的run方法參數(shù)為String類型,而實(shí)現(xiàn)ApplicaitonRunnerrun方法的參數(shù)則是需要ApplicationArguments。官方文檔中有個(gè)例子供參考。

如果有多個(gè)ApplicaitonRunner或者CommandLineRunner接口的實(shí)現(xiàn)存在啟動(dòng)順序,則可以使用org.springframework.core.Ordered接口或者org.springframework.core.annotation.Order注解的形式來給他們排序。

由于我沒有參數(shù)類型等的限制,所以用哪個(gè)接口都一樣,寫個(gè)跟官方不一樣的,于是代碼大概長這樣:

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);
  }
}

深刻的意識(shí)到腦子和屁股一樣重要。

寫完啟動(dòng)項(xiàng),那么再把退出也說一下:

怎么在Spring Boot中啟動(dòng)及退出加載項(xiàng)

每一個(gè)SpringApplication都應(yīng)該向JVM注冊(cè)一個(gè)鉤子函數(shù)來確保ApplicationContext能優(yōu)雅地關(guān)閉。使所有的標(biāo)準(zhǔn)Spring生命周期回調(diào)(例如DisposableBean接口和@PreDestroy注解)都可用。

此外,如果你希望beans在調(diào)用SpringApplication.exit()時(shí)返回特定的退出代碼,則可以實(shí)現(xiàn)org.springframework.boot.ExitCodeGenerator接口,這些退出代碼會(huì)被傳給System.exit()作為返回的狀態(tài)碼。官方還給了個(gè)例子,就是下面這個(gè)。

@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)));
  }
}

當(dāng)然,ExitCodeGenerator也可以由異常來實(shí)現(xiàn),當(dāng)遇到一個(gè)這樣的異常時(shí),Sprin Boot會(huì)返回實(shí)現(xiàn)了getExitCode()方法的退出代碼。

springboot是什么

springboot一種全新的編程規(guī)范,其設(shè)計(jì)目的是用來簡化新Spring應(yīng)用的初始搭建以及開發(fā)過程,SpringBoot也是一個(gè)服務(wù)于框架的框架,服務(wù)范圍是簡化配置文件。

看完上述內(nèi)容,你們對(duì)怎么在Spring Boot中啟動(dòng)及退出加載項(xiàng)有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。


文章題目:怎么在SpringBoot中啟動(dòng)及退出加載項(xiàng)
當(dāng)前地址:http://weahome.cn/article/goodsg.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部