最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

springboot啟動加載CommandLineRunner @PostConstruct問題

 更新時間:2024年08月20日 10:15:49   作者:大旭123456  
這篇文章主要介紹了springboot啟動加載CommandLineRunner @PostConstruct問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

springboot 啟動加載

CommandLineRunner

在項目中,經(jīng)常有這樣的需求,我們需要在項目啟動完立即初始化一些數(shù)據(jù)(比如緩存等),以便后面調(diào)用使用。spring boot可以通過CommandLineRunner接口實現(xiàn)啟動加載功能。

新建一個Java文件,類需要用Component聲明下,需要實現(xiàn)CommandLineRunner接口,然后重寫run方法,在run方法內(nèi)編寫需要加載的內(nèi)容。

代碼如下:

package com.study.test.startup;

import org.springframework.boot.CommandLineRunner;
import org.springframework.stereotype.Component;

/**
 * @Description: 初始化啟動類
 * @Author: chen
 * @Date: Created in 2019/2/22
 */
@Component
public class InitStarter implements CommandLineRunner{

    @Override
    public void run(String... args) throws Exception {
        System.out.println("CommandLineRunner example start");
    }
}

啟動項目,運行結(jié)果證明:CommandLineRunner會在服務(wù)啟動之后被立即執(zhí)行

在項目中,我們可以寫一個類繼承CommandLineRunner接口,然后在實現(xiàn)方法中寫多個需要加載的方法,也可以寫多個類繼承CommandLineRunner,這些類之間,可以通過order注解(@Order(value=1))實現(xiàn)先后順序。

例子如下:

總結(jié):

  • CommandLineRunner會在服務(wù)啟動之后被立即執(zhí)行。
  • CommandLineRunner可以有多個,且多個直接可以用order注解進(jìn)行排序。

@PostConstruct

另一個需求是,在類加載的時候,為當(dāng)前類初始化一些數(shù)據(jù),那么可以使用@PostConstruct注解。

Servlet中增加了兩個影響Servlet生命周期的注解,@PostConstruct和@PreDestroy,這兩個注解被用來修飾一個非靜態(tài)的void()方法。

在一個類內(nèi),如果有構(gòu)造器(Constructor ),有@PostConstruct,還有@Autowired,他們的先后執(zhí)行順序為Constructor >> @Autowired >> @PostConstruct。

因為一個有聲明注解的類文件(必須有聲明,這樣在項目初始化時候才會注入),在項目啟動后,會對對象進(jìn)行依賴注入,而初始化的動作會依賴于對象,所以假象上看,也類似于項目啟動就會執(zhí)行的操作,因此,我們也可以通過這樣的形式,對數(shù)據(jù)進(jìn)行初始化。

說明一下:

@PostConstruct更針對性于當(dāng)前類文件,而CommandLineRunner更服務(wù)于整個項目。所以在我們使用中,可根據(jù)自己的使用場景來進(jìn)行選擇用這兩種方式來實現(xiàn)初始化。

package com.study.test.postConstruct;

import org.springframework.stereotype.Component;

import javax.annotation.PostConstruct;

/**
 * @Description:
 * @Author: chen
 * @Date: Created in 2019/2/25
 */
@Component
public class Init {

    @PostConstruct
    private void init(){
        System.out.println("PostConstruct 注解 初始化數(shù)據(jù).");
    }
}

執(zhí)行結(jié)果:

說明一下:

執(zhí)行結(jié)果可以看到,在項目還沒有啟動成功的時候,@PostConstruct已經(jīng)執(zhí)行完了,因為@PostConstruct是在Init類注入完成后立馬執(zhí)行的,它并不依賴于項目的啟動。

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java設(shè)計模式編程中簡單工廠與抽象工廠模式的使用實例

    Java設(shè)計模式編程中簡單工廠與抽象工廠模式的使用實例

    這篇文章主要介紹了Java設(shè)計模式編程中簡單工廠與抽象工廠模式的使用實例,簡單工廠與抽象工廠都可以歸類于設(shè)計模式中的創(chuàng)建型模式,需要的朋友可以參考下
    2016-04-04
  • 淺談java字符串比較到底應(yīng)該用==還是equals

    淺談java字符串比較到底應(yīng)該用==還是equals

    這篇文章主要介紹了淺談java字符串比較到底應(yīng)該用==還是equals,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • Java實現(xiàn)PDF添加水印的完整方案

    Java實現(xiàn)PDF添加水印的完整方案

    在企業(yè)級應(yīng)用中,PDF水印是文檔安全管理的必備功能,無論是版權(quán)保護(hù)、版本標(biāo)識,還是敏感信息管控,水印都扮演著重要角色,本文將提供一個生產(chǎn)級的PDF水印解決方案,需要的朋友可以參考下
    2026-02-02
  • java匿名內(nèi)部類實例代碼詳解

    java匿名內(nèi)部類實例代碼詳解

    這篇文章主要介紹了java匿名內(nèi)部類實例代碼詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-12-12
  • Java如何使用JWT實現(xiàn)Token認(rèn)證機(jī)制

    Java如何使用JWT實現(xiàn)Token認(rèn)證機(jī)制

    JWT(JSON Web Token)是一種用于在網(wǎng)絡(luò)上安全地傳輸信息的簡潔的、URL 安全的表示方法,本文主要介紹了Java如何使用JWT實現(xiàn)Token認(rèn)證機(jī)制,需要的可以參考下
    2024-10-10
  • Java中Date和Calendar常用方法

    Java中Date和Calendar常用方法

    這篇文章主要為大家詳細(xì)介紹了Java中Date和Calendar常用用法,感興趣的小伙伴們可以參考一下
    2016-09-09
  • JVM內(nèi)存分配及String常用方法解析

    JVM內(nèi)存分配及String常用方法解析

    這篇文章主要介紹了JVM內(nèi)存分配及String常用方法解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-09-09
  • IDEA中sout快捷鍵無效問題的解決方法

    IDEA中sout快捷鍵無效問題的解決方法

    這篇文章主要介紹了IDEA中sout快捷鍵無效問題,在類文件中進(jìn)行操作會造成sout快捷命令無法自動生成,比如操作了import引入其它包之后,本文給大家分享解決方法,感興趣的朋友一起看看吧
    2022-07-07
  • 關(guān)于Spring Actuator的簡單測試

    關(guān)于Spring Actuator的簡單測試

    這篇文章主要介紹了關(guān)于Spring Actuator的簡單測試,Spring-Actuator 是spring下的程序監(jiān)控系統(tǒng),通過簡單的配置就可以查看程序的相關(guān)信息,本文提供了相關(guān)配置,需要的朋友可以參考下
    2023-10-10
  • Win10系統(tǒng)下配置java環(huán)境變量的全過程

    Win10系統(tǒng)下配置java環(huán)境變量的全過程

    這篇文章主要給大家介紹了關(guān)于Win10系統(tǒng)下配置java環(huán)境變量的相關(guān)資料,文中通過圖文介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11

最新評論

益阳市| 儋州市| 淅川县| 天全县| 晋城| 昌邑市| 南汇区| 达州市| 丘北县| 育儿| 江永县| 册亨县| 库车县| 洞口县| 德保县| 永丰县| 仪陇县| 合山市| 稻城县| 抚顺市| 凉城县| 福贡县| 甘孜县| 三门峡市| 城市| 奉节县| 靖宇县| 梁河县| 义乌市| 壤塘县| 仙居县| 英德市| 博客| 安顺市| 光泽县| 平谷区| 龙门县| 黄浦区| 峨眉山市| 明水县| 长垣县|