日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

springboot2.X 在项目启动后执行一段自定义代码

發布時間:2025/6/17 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 springboot2.X 在项目启动后执行一段自定义代码 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

場景:?項目需要在項目啟動后從數據庫初始化一些數據進入redis ,?但是沒有很適合?的監聽器去實現 ,?監聽?老是在dao初始化之前觸發。

解決方法:自定義類實現?ApplicationRunner?接口?重寫?run()?方法

------------------------------------------------------------------------------------------------------------------------------------------

1 /** 2 * @author :CX 3 * @Date :Create in 2018/8/31 11:39 4 * @Effect : 監聽項目啟動成功后, 每次啟動給啟動序列碼+1(tb_sb_idcounter表) , 5 * 并吧最新的序列碼寫入redis 6 */ 7 @Component 8 @Order(10) //執行的優先級 9 public class StartIdListener implements ApplicationRunner { 10 Logger logger = Logger.getLogger(this.getClass().getName()); 11 //注入針對數據庫的dao 12 @Autowired 13 @Qualifier("dao") 14 protected IDao dao; 15 //注入針對redis的dao 16 @Autowired 17 RedisUtil redisUtil ; 18 19 // 系統啟動序列碼在redis中保存的key 20 private String SYSTEM_NUMBER = "bigcustomer:systemNumber_fh23" ; 21 // 本次啓動 , 通用id 執行到幾了, 繼續執行 22 private String FUNIQUEID_NUMBER = "bigcustomer:funiqueid_number" ; 23 /** 24 *@參數 25 *@返回值 26 *@創建人 cx 27 *@創建時間 28 *@描述 zaispringboot啟動后執行 29 */ 30 @Override 31 public void run(ApplicationArguments args) throws Exception { 32 //數據庫啟動序列碼 +1 33 logger.info("項目啟動成功, 開始獲取啟動碼!"); 34 try{ 35 dao.update("util-baseIdUpOne"); 36 }catch (Exception e){ 37 throw new RuntimeException("啟動失敗,啟動序列碼執行+1 操作時異常!請檢查 tb_sb_idcounter表"); 38 } 39 // 獲取最新數據 40 TbSbIdcounterModel first = dao.entity(TbSbIdcounterModel.class).first(); 41 if(null == first || null == first.getFH23()){ 42 throw new RuntimeException("啟動失敗,啟動序列碼為空,請檢查 tb_sb_idcounter表"); 43 } 44 Long fh23 = first.getFH23(); 45 // 保存啟動序列碼到redis 46 redisUtil.set(SYSTEM_NUMBER,fh23); 47 // 初始化本次 輪訓的編碼 48 redisUtil.set(FUNIQUEID_NUMBER,1); 49 50 51 logger.info("獲取啟動碼成功, 本次系統啟動碼為:" + fh23); 52 } 53 }

?

轉載于:https://www.cnblogs.com/cx987514451/p/9590529.html

總結

以上是生活随笔為你收集整理的springboot2.X 在项目启动后执行一段自定义代码的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。