­

springboot 配置文件的使用

本文標識 : 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 資源路徑下的配配置文件

總結:

  1. 先加載的優先級最高,後面的優先級低。
  2. 後面的配置文件中如果有不同的配置項,也會讀取進來。