<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          SpringBoot中CommandLineRunner?

          共 1791字,需瀏覽 4分鐘

           ·

          2020-10-26 18:48

          點擊上方藍色字體,選擇“標(biāo)星公眾號”

          優(yōu)質(zhì)文章,第一時間送達

          66套java從入門到精通實戰(zhàn)課程分享

          SpringBoot中CommandLineRunner的作用

          平常開發(fā)中有可能需要實現(xiàn)在項目啟動后執(zhí)行的功能,SpringBoot提供的一種簡單的實現(xiàn)方案就是添加一個model并實現(xiàn)CommandLineRunner接口,實現(xiàn)功能的代碼放在實現(xiàn)的run方法中
          也就是項目一啟動之后,就立即需要執(zhí)行的動作

          我們只需要在項目里面簡單的配置,就可以實現(xiàn)這個功能。

          簡單例子

          package?org.springboot.sample.runner;
          import?org.springframework.boot.CommandLineRunner;
          import?org.springframework.stereotype.Component;

          @Component
          public?class?MyStartupRunner?implements?CommandLineRunner?{

          @Override
          public?void?run(String...?args)?throws?Exception?{
          System.out.println("項目已經(jīng)啟動");
          }

          }

          如果有多個類實現(xiàn)CommandLineRunner接口,如何保證順序

          SpringBoot在項目啟動后會遍歷所有實現(xiàn)CommandLineRunner的實體類并執(zhí)行run方法,如果需要按照一定的順序去執(zhí)行,那么就需要在實體類上使用一個@Order注解(或者實現(xiàn)Order接口)來表明順序

          package?org.springboot.sample.runner;

          import?org.springframework.boot.CommandLineRunner;
          import?org.springframework.core.annotation.Order;
          import?org.springframework.stereotype.Component;


          @Component
          @Order(value=2)
          public?class?MyStartupRunner1?implements?CommandLineRunner?{

          @Override
          public?void?run(String...?args)?throws?Exception?{
          System.out.println("執(zhí)行2");
          }

          }

          package?org.springboot.sample.runner;

          import?org.springframework.boot.CommandLineRunner;
          import?org.springframework.core.annotation.Order;
          import?org.springframework.stereotype.Component;

          @Component
          @Order(value=1)
          public?class?MyStartupRunner2?implements?CommandLineRunner?{

          @Override
          public?void?run(String...?args)?throws?Exception?{
          System.out.println("執(zhí)行1");
          }

          }

          控制臺顯示

          執(zhí)行1
          執(zhí)行2

          根據(jù)控制臺結(jié)果可判斷,@Order 注解的執(zhí)行優(yōu)先級是按value值從小到大順序。

          @Order 作用

          就是項目啟動之后,要執(zhí)行的動作是比較的多,那么到底先執(zhí)行哪個,那么就可以利用這個注解限定優(yōu)先級。




          版權(quán)聲明:本文為博主原創(chuàng)文章,遵循 CC 4.0 BY-SA 版權(quán)協(xié)議,轉(zhuǎn)載請附上原文出處鏈接和本聲明。

          本文鏈接:

          https://blog.csdn.net/python113/article/details/109244712




          粉絲福利:108本java從入門到大神精選電子書領(lǐng)取

          ???

          ?長按上方鋒哥微信二維碼?2 秒
          備注「1234」即可獲取資料



          感謝點贊支持下哈?

          瀏覽 50
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  天天爱三级| 大香蕉伊人网在线 | 成人三区视频 | 日韩一区二区三区三四区视频在线观看 | 日逼视频网 |