亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

詳解如何在Spring Boot啟動后執(zhí)行指定代碼

 更新時間:2018年06月15日 08:37:47   作者:茶爸爸  
這篇文章主要介紹了在Spring Boot啟動后執(zhí)行指定代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

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

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

創(chuàng)建ApplicationListener

這里以填充部分測試數(shù)據(jù)為例子,首先實現(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

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Springboot中@scheduled注解解析

    Springboot中@scheduled注解解析

    這篇文章主要介紹了Springboot中@scheduled注解解析,定時任務(wù)就是在指定時間執(zhí)行程序,或周期性執(zhí)行計劃任務(wù),Java中實現(xiàn)定時任務(wù)的方法有很多,本文從從JDK自帶的一些方法來實現(xiàn)定時任務(wù)的需求,需要的朋友可以參考下
    2023-09-09
  • 詳解Java中String類的各種用法

    詳解Java中String類的各種用法

    Java中定義了String和StringBuffer兩個類來封裝對字符串的各種操作,存放于java.lang包中,是Java語言的核心類,提供了字符串的比較、查找、截取、大小寫轉(zhuǎn)換等操作,無需導(dǎo)入即可直接使用它們。讓我們來詳細(xì)了解它吧
    2021-11-11
  • idea引入外部jar包的方法實現(xiàn)

    idea引入外部jar包的方法實現(xiàn)

    本文主要介紹了idea引入外部jar包的方法實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06
  • SpringBoot整合RabbitMQ實現(xiàn)RPC遠(yuǎn)程調(diào)用功能

    SpringBoot整合RabbitMQ實現(xiàn)RPC遠(yuǎn)程調(diào)用功能

    在分布式系統(tǒng)中,RPC(Remote?Procedure?Call)是一種常用的通信機(jī)制,它可以讓不同的節(jié)點之間像調(diào)用本地函數(shù)一樣進(jìn)行函數(shù)調(diào)用,隱藏了底層的網(wǎng)絡(luò)通信細(xì)節(jié),通過本教程,你可以了解RPC的基本原理以及如何使用Java實現(xiàn)一個簡單的RPC客戶端和服務(wù)端
    2023-06-06
  • 一篇文章總結(jié)Java虛擬機(jī)內(nèi)存區(qū)域模型

    一篇文章總結(jié)Java虛擬機(jī)內(nèi)存區(qū)域模型

    這篇文章主要介紹了一篇文章總結(jié)Java虛擬機(jī)內(nèi)存區(qū)域模型,本篇文章主要來總結(jié)一下Java虛擬機(jī)內(nèi)存的各個區(qū)域,以及這些區(qū)域的作用、服務(wù)對象以及其中可能產(chǎn)生的問題,作為大家的面試寶典。,需要的朋友可以參考下
    2019-06-06
  • springboot2.1.7整合thymeleaf代碼實例

    springboot2.1.7整合thymeleaf代碼實例

    這篇文章主要介紹了springboot2.1.7整合thymeleaf代碼實例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-12-12
  • JAVA實現(xiàn)雙向鏈表的增刪功能的方法

    JAVA實現(xiàn)雙向鏈表的增刪功能的方法

    本篇文章主要介紹了JAVA實現(xiàn)雙向鏈表的增刪功能的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-03-03
  • 了解java中對象基礎(chǔ)Object類

    了解java中對象基礎(chǔ)Object類

    本文主要講解了java中對象基礎(chǔ)Object類,文中運用大量代碼講解的非常詳細(xì),想學(xué)習(xí)相關(guān)知識的小伙伴可以參考一下這篇文章
    2021-09-09
  • Maven 項目生成jar運行時提示“沒有主清單屬性”

    Maven 項目生成jar運行時提示“沒有主清單屬性”

    這篇文章主要介紹了Maven 項目生成jar運行時提示“沒有主清單屬性”,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-03-03
  • Java實現(xiàn)雙向循環(huán)鏈表

    Java實現(xiàn)雙向循環(huán)鏈表

    這篇文章主要為大家詳細(xì)介紹了Java實現(xiàn)雙向循環(huán)鏈表,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-10-10

最新評論