上篇說明,有設定進入點。
這是專案整個進入點
那現在我們有業務邏輯的進入點
就是之後我們寫的程式都會從這端點出發
有2兩個方式
- 實作 ApplicationRunner
- 事件聆聽 @EventListener(ApplicationReadyEvent.class)
先來說明一下概念
上篇大家看過這一張圖
依序執行了哪些服務,那ApplicationRunner 和 @EventListener(ApplicationReadyEvent.class)是一定要等到專案服務啟動完成後才會執行的區塊
ApplicationRunner
@Slf4j @SpringBootApplication public class DemoApplication implements ApplicationRunner { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } @Override public void run(ApplicationArguments args){ log.info("after service is running!!") } }
@Slf4j: 是lombok裏面的其中一個功能。主要是可以顯示根據需求顯示訊息並依據等級顯示,例如:info都會顯示, debug偵錯時顯示, error顯示為錯誤訊息等。
如果沒有注入Lombok那我想要有顯示記錄這個需求 我需要選擇特定的 顯示記錄 套件和對應的設定(xml,yml,etc),注入後當需要時再注入。
以上執行完如下
事件聆聽 @EventListener(ApplicationReadyEvent.class)
@Slf4j @SpringBootApplication public class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } @EventListener(ApplicationReadyEvent.class) public void applicationReady(ApplicationReadyEvent event){ log.info("ApplicationReady event"); } }
以上執行完如下
以上就是我們後續商業邏輯的進入點
那我這邊採用@EventListener(ApplicationReadyEvent.class)
是大家後續都會看到的
補充:
這不是一個給新手的一個教學過程,也寫的不是很完整
希望大家多多包涵囉~
主要是給自己的一個紀錄,也分享給有需要的夥伴
這是一個心血來潮,產生的文章
若有喜歡或交流的部分都歡迎在下方留言,多多關照。