問題:
最近做項目(項目使用的是springboot)的時候,數據庫有一個配置參數表,每次都要查詢數據庫去做數據轉換,這樣每次查詢數據庫感覺不太友好,后來寫了一個方法項目啟動完成后立即執行此方法,將配置加載到內存中,避免頻繁查詢數據庫造成的性能問題。
當服務啟動時需要做一些初始化的操作springboot提供了兩個接口供我們使用ApplicationRunner和CommandLineRunner
兩者都可以實現項目啟動初始化的工作,如果有多個實現類可以使用Order注解,控制各個實現類的加載順序。Order值越小越先加載。
至於兩者的區別,主要是參數不同,前者的參數為ApplicationArguments,后者為數組,個人認為前者更牛一些,因為可以獲取更多的命令參數。
解決辦法:
話不多說上代碼
這里我創建了三個類,分別使用order指定了執行順序。
下面是控制台的輸出:
可以看到這三個類按着order指定的順序執行了。