詳解SpringBoot配置加載順序及屬性加載順序-創(chuàng)新互聯(lián)

先給大家介紹下spring boot 配置加載順序,具體內(nèi)容如下所示:

站在用戶的角度思考問題,與客戶深入溝通,找到成都網(wǎng)站設(shè)計與成都網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設(shè)計與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:網(wǎng)站設(shè)計、成都網(wǎng)站設(shè)計、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣、空間域名、網(wǎng)絡(luò)空間、企業(yè)郵箱。業(yè)務(wù)覆蓋成都地區(qū)。

使用 Spring Boot 會涉及到各種各樣的配置,如開發(fā)、測試、線上就至少 3 套配置信息了。Spring Boot 可以輕松的幫助我們使用相同的代碼就能使開發(fā)、測試、線上環(huán)境使用不同的配置。

在 Spring Boot 里面,可以使用以下幾種方式來加載配置。本章內(nèi)容基于 Spring Boot 2.0 進行詳解。

1、properties文件;

2、YAML文件;

3、系統(tǒng)環(huán)境變量;

4、命令行參數(shù);

等等……

我們可以在 Spring Beans 里面直接使用這些配置文件中加載的值,如:

1、使用 @Value 注解直接注入對應(yīng)的值,這能獲取到 Spring 中 Environment 的值;

2、使用 @ConfigurationProperties 注解把對應(yīng)的值綁定到一個對象;

3、直接獲取注入 Environment 進行獲?。?/p>

配置屬性的方式很多,Spring boot使用了一種獨有的 PropertySource 可以很方便的覆蓋屬性的值。

配置屬性加載的順序如下:

1、開發(fā)者工具 `Devtools` 全局配置參數(shù);

2、單元測試上的 `@TestPropertySource` 注解指定的參數(shù);

3、單元測試上的 `@SpringBootTest` 注解指定的參數(shù);

4、命令行指定的參數(shù),如 `java -jar springboot.jar --name="Java技術(shù)棧"`;

5、命令行中的 `SPRING_APPLICATION_JSONJSON` 指定參數(shù), 如 `java -Dspring.application.json='{"name":"Java技術(shù)棧"}' -jar springboot.jar`

6、`ServletConfig` 初始化參數(shù);

7、`ServletContext` 初始化參數(shù);

8、JNDI參數(shù)(如 `java:comp/env/spring.application.json`);

9、Java系統(tǒng)參數(shù)(來源:`System.getProperties()`);

10、操作系統(tǒng)環(huán)境變量參數(shù);

11、`RandomValuePropertySource` 隨機數(shù),僅匹配:`ramdom.*`;

12、JAR包外面的配置文件參數(shù)(`application-{profile}.properties(YAML)`)

13、JAR包里面的配置文件參數(shù)(`application-{profile}.properties(YAML)`)

14、JAR包外面的配置文件參數(shù)(`application.properties(YAML)`)

15、JAR包里面的配置文件參數(shù)(`application.properties(YAML)`)

16、`@Configuration`配置文件上 `@PropertySource` 注解加載的參數(shù);

17、默認參數(shù)(通過 `SpringApplication.setDefaultProperties` 指定);

數(shù)字小的優(yōu)先級越高,即數(shù)字小的會覆蓋數(shù)字大的參數(shù)值,我們來實踐下,驗證以上配置參數(shù)的加載順序。

1、在主應(yīng)用程序中添加 Java 系統(tǒng)參數(shù)。

@Bean
public CommandLineRunner commandLineRunner() {
  return (args) -> {
    System.setProperty("name", "javastack-system-properties");
  };
}

名稱欄目:詳解SpringBoot配置加載順序及屬性加載順序-創(chuàng)新互聯(lián)
文章URL:http://muchs.cn/article24/dphece.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作、移動網(wǎng)站建設(shè)、品牌網(wǎng)站建設(shè)、靜態(tài)網(wǎng)站ChatGPT、網(wǎng)站改版

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)頁設(shè)計公司