springboot 配置文件的使用
- 2020 年 1 月 1 日
- 筆記
本文標識 : Jsbt0005
本文編輯 : Jack 風
編程工具 : IDEA
閱讀時長 : 6分鐘
1、配置文件的使用
修改配置方式 1:srcmainresourcesapplication.properties
#修改端口號 server.port=5658 #端口號後需額外添加字符 server.servlet.context-path=/a2data
- 訪問:http://localhost:5658/a2data/hello
@RestController public class HelloWorld { @GetMapping("/hello") public String say() { return "HelloWorld!"; } }
修改配置方式 2:srcmainresourcesapplication.yml
server: port: 5658 servlet: context-path: /a2data
個人比較喜歡 yml
2、切換配置文件
1、多配置文件
srcmainresourcesapplication-dev.yml
server: port: 5658
srcmainresourcesapplication-prod.yml
server: port: 8080
srcmainresourcesapplication.yml
- 根據 active:來切換配置文件
spring: profiles: active: prod
2、單配置文件
- 在單一文件中,可用連續三個連字號(—)區分多個文件。
- 根據 active:來切換配置文件
server: port: 5658 spring: profiles: prod --- server: port: 8080 spring: profiles: dev --- spring: profiles: active: prod
3、激活指定 profile
1、在配置文件中指定 spring.profiles.active=dev
2、命令行:
java -jar ***.jar –spring.profiles.active=dev
可以直接在測試的時候,配置傳入命令行參數
3、虛擬機參數,在 IDEA 或 Eclipse 中的 run configuration 中可以進行配置
-Dspring.profiles.active=dev
4、配置文件加載位置
springboot 啟動後掃描以下位置的 application.properties 或者 application.yml 文件,
作為 Spring boot 的默認配置文件
位置 |
說明 |
---|---|
–file:./config/ |
項目目錄下的 config |
–file:./ |
項目目錄下 |
–classpath:/config/ |
resources 目錄下的 config |
–classpath:/ |
resources 目錄下 |
優先級由高到底,高優先級的配置會覆蓋低優先級的配置;
SpringBoot 會從這四個位置全部加載主配置文件;互補配置;
我們還可以通過 spring.config.location 來改變默認的配置文件位置
項目打包好以後,我們可以使用命令行參數的形式,啟動項目的時候來指定配置文件的新位置;
指定配置文件和默認加載的這些配置文件共同起作用形成互補配置;
java -jar ***.jar –spring.config.location=E:/application.yml
從 spring 的運行日誌中可以看到:
Loaded config file 'file:./config/application.yml' (file:./config/application.yml) Loaded config file 'file:./application.yml' (file:./application.yml) Loaded config file 'file:/C:/Users/Administrator/Desktop/demo3/target/classes/config/application.yml' (classpath:/config/application.yml) Loaded config file 'file:/C:/Users/Administrator/Desktop/demo3/target/classes/application.yml' (classpath:/application.yml)
配置文件的加載順序:
- ./config/application.yml 項目目錄下的 config 目錄下的配置文件
- ./application.yml 項目目錄下的配置文件
- classpath:/config/application.yml 資源路徑下的 config 目錄下的配置文件
- classpath:/application.yml 資源路徑下的配配置文件
總結:
- 先加載的優先級最高,後面的優先級低。
- 後面的配置文件中如果有不同的配置項,也會讀取進來。