您好,登錄后才能下訂單哦!
小編給大家分享一下SpringBoot項目啟動時讀取配置以及初始化資源的方法,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討方法吧!
介紹
  在開發過程中,我們有時候會遇到非接口調用而出發程序執行任務的一些場景,比如我們使用quartz定時框架通過配置文件來啟動定時任務時,或者一些初始化資源場景等觸發的任務執行場景。
方法一:注解
方案
  通過使用注解@Configuration和@Bean來初始化資源,配置文件當然還是通過@Value進行注入。
補充@Configuration加載Spring:
示例
package com.example.andya.demo.conf; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; /** * @author andya * @create 2020-06-24 14:37 */ @Configuration public class InitConfigTest { @Value("${key}") private String key; @Bean public String testInit(){ System.out.println("init key: " + key); return key; } }
方法二:CommandLineRunner
方案
  實現CommandLineRunner接口,該接口中的Component會在所有Spring的Beans都初始化之后,在SpringApplication的run()之前執行。
  多個類需要有順序的初始化資源時,我們還可以通過類注解@Order(n)進行優先級控制
示例
package com.example.andya.demo.service; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.CommandLineRunner; import org.springframework.stereotype.Component; /** * @author andya * @create 2020-06-24 14:47 */ @Component public class CommandLineRunnerTest implements CommandLineRunner { @Value("${key}") private String key; @Override public void run(String... strings) throws Exception { System.out.println("command line runner, init key: " + key); } }
兩個示例的運行結果
看完了這篇文章,相信你對SpringBoot項目啟動時讀取配置以及初始化資源的方法有了一定的了解,想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。