电竞比分网-中国电竞赛事及体育赛事平台

分享

spring-boot學(xué)習(xí)六:外部配置加載順序

 印度阿三17 2019-09-04

1.概要

spring boot不僅可以從工程的resource文件夾或者config文件夾下加載配置,還可以在以下位置加載配置:

  • 命令行參數(shù)
  • 來自java:comp/env的JNDI屬性
  • Java系統(tǒng)屬性(System.getProperties())
  • 操作系統(tǒng)環(huán)境變量
  • RandomValuePropertyResource配置的random.*屬性值
  • jar包外部的application-{profile}.properties或application.yaml(帶spring.profile)配置文件
  • jar包內(nèi)部的application-{profile}.properties或application.yaml(帶spring.profile)配置文件
  • jar包外部的application.properties或application.yaml(不帶spring.profile)配置文件
  • jar包內(nèi)部的application.properties或application.yaml(不帶spring.profile)配置文件
  • @Configuration注解類上的@PropertySource
  • 通過SpringApplication.setDefaultProperties指定的默認(rèn)屬性

其中上述中的標(biāo)紅部分是我們需要重點(diǎn)掌握內(nèi)容,從上向下優(yōu)先級越來越低,高優(yōu)先級的配置會覆蓋低優(yōu)先級的配置,高優(yōu)先級的配置和低優(yōu)先級的配置都會生效,形成互補(bǔ)配置;

2.示例

2.1命令行參數(shù)

以修改啟動端口號為例,我們啟動jar的同時(shí)可以指定啟動的端口號為9909

?

?此時(shí)我們訪問:

?如果想在啟動的時(shí)候修改多個(gè)配置,中間用空格間隔即可,比如我們在修改端口的同時(shí)還想添加一個(gè)路徑,就執(zhí)行下面的這個(gè)命令:

java -jar spingboot01-1.0-SNAPSHOT.jar --server.port=9909 --server.servlet.context-path=/boot

其中:--server.port=9909用來修改端口號

   --server.servlet.context-path=/boot增加訪問路徑為/boot,此時(shí)我們想要執(zhí)行結(jié)果如下:

?2.2jar包外和jar包內(nèi)

記住加載原則:由 jar 包外向 jar 包內(nèi)進(jìn)行尋找,優(yōu)先加載帶 profile 的文件,在加載不帶 profile 的文件;

?舉例:比如我們此時(shí)想修改多個(gè)加載參數(shù),我們可以單拉出一個(gè)配置文件放在和 jar 包的同級目錄下:

?

?此時(shí)如果啟動這個(gè) jar? 肯定端口號為8801,訪問路徑為 /boot。此時(shí)我們在 jar 所在的同級目錄放置一個(gè)配置文件,端口號為8888,訪問路徑為/hai;

?

?此時(shí)啟動這個(gè) jar

?

?此時(shí)我們訪問:http://localhost:8888/hai/hello

?

?

?

?

?

?

?

?

?

?

?

?

?

?

來源:https://www./content-4-440001.html

    本站是提供個(gè)人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多