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

解讀CommandLineRunner和@PostConstruct區(qū)別與應(yīng)用場(chǎng)景

 更新時(shí)間:2023年12月26日 09:23:30   作者:zero  
這篇文章主要介紹了解讀CommandLineRunner和@PostConstruct區(qū)別與應(yīng)用場(chǎng)景,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

時(shí)機(jī)和觸發(fā)方式

  • CommandLineRunner 接口的run方法在整個(gè)Spring Boot應(yīng)用程序啟動(dòng)完成后執(zhí)行。它是在應(yīng)用程序啟動(dòng)的最后階段觸發(fā)的,這樣你可以確保在Spring Boot應(yīng)用程序完全啟動(dòng)并準(zhǔn)備好接受請(qǐng)求之前執(zhí)行你的邏輯。
  • @PostConstruct注解標(biāo)注的方法會(huì)在Spring容器實(shí)例化Bean并完成依賴注入后立即執(zhí)行。這意味著它是在Bean的生命周期中非常早的階段執(zhí)行的,但在整個(gè)Spring應(yīng)用程序完全啟動(dòng)之前。

參數(shù)傳遞

  • CommandLineRunner接口的run方法可以接受一個(gè)字符串?dāng)?shù)組參數(shù),這個(gè)數(shù)組包含了應(yīng)用程序啟動(dòng)時(shí)傳遞的命令行參數(shù)。這為你提供了一種在應(yīng)用程序啟動(dòng)時(shí)動(dòng)態(tài)配置或執(zhí)行不同的邏輯的機(jī)會(huì)。
  • @PostConstruct注解的方法不能接受參數(shù),因?yàn)樗峭ㄟ^反射調(diào)用的。這意味著你不能直接在方法中獲取Spring Boot應(yīng)用程序啟動(dòng)時(shí)的參數(shù)。

應(yīng)用場(chǎng)景

CommandLineRunner

  • 適用于整個(gè)SpringBoot程序啟動(dòng)后執(zhí)行的初始化邏輯
  • 可以執(zhí)行程序級(jí)別操作,如執(zhí)行定時(shí)任務(wù)、執(zhí)行數(shù)據(jù)加載等
  • 提供了訪問命令行參數(shù)的能力,可以在run方法中獲取應(yīng)用程序啟動(dòng)時(shí)傳遞的參數(shù)。

@PostConstruct

  • 用于spring Bean初始化階段執(zhí)行的一些邏輯
  • 一般用于與Bean屬性初始化的相關(guān)操作,比如初始化資源、建立鏈接等等

使用方式

CommandLineRunner

@Component
public class MyCommandLineRunner implements CommandLineRunner {

    @Override
    public void run(String... args) throws Exception {
        // 在應(yīng)用程序啟動(dòng)后執(zhí)行的邏輯
    }
}

@PostConstruct

@Component
public class MyBean {

    @PostConstruct
    public void init() {
        // 在Bean初始化階段執(zhí)行的邏輯
    }
}

總結(jié)

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

相關(guān)文章

最新評(píng)論

靖安县| 广河县| 铁岭县| 卢氏县| 崇信县| 溧阳市| 嘉义市| 旺苍县| 忻州市| 无极县| 彭州市| 长宁区| 孟津县| 莒南县| 海林市| 弋阳县| 秦安县| 屏东县| 霸州市| 明水县| 甘孜县| 文水县| 平顶山市| 临清市| 苍溪县| 龙岩市| 庄浪县| 时尚| 五峰| 十堰市| 兴义市| 咸丰县| 徐水县| 岢岚县| 离岛区| 旬阳县| 辽源市| 汉川市| 昆明市| 赤峰市| 四会市|