1. 程式人生 > 其它 >Spring Boot之啟動呼叫

Spring Boot之啟動呼叫

Spring Boot啟動前呼叫

場景:提前將部分資料載入到Spring容器中

解決方案:

1.定義靜態常量,隨著類的生命週期載入而提前載入(這種方式可能對於工作經驗較少的夥伴,選擇是最多的);

spring boot提供的兩種開機啟動的方法(CommandLineRunner,ApplicationRunner):
(都是在SpringApplication 執行之後開始執行)
2.實現CommandLineRunner介面;容器啟動之後,載入實現類的邏輯資源,已達到完成資源初始化的任務;

實現CommandLineRunner介面,實現功能的程式碼放在實現的run方法中載入,並且如果多個類需要夾載入順序,則實現類上使用@Order註解,且value值越小則優先順序越高。接收字串陣列的命令列引數

3.實現ApplicationRunner介面:這種方式使用ApplicationArguments來接收命令列引數

4.@PostConstruct;在具體Bean的例項化過程中執行,@PostConstruct註解的方法,會在構造方法之後執行;
載入順序為:Constructor > @Autowired > @PostConstruct > 靜態方法;
特點:
只有一個非靜態方法能使用此註解
被註解的方法不得有任何引數
被註解的方法返回值必須為void
被註解方法不得丟擲已檢查異常
此方法只會被執行一次

5.實現InitializingBean介面;重寫afterPropertiesSet()方法;

6.實現SmartLifecycle介面:
當Spring容器載入所有bean並完成初始化之後,會接著回撥實現該介面的類中對應的方法(start()方法)。