1. 程式人生 > 程式設計 >Spring Boot 配置檔案 application.properties

Spring Boot 配置檔案 application.properties

一、springBoot配置檔案的格式

在Springboot 配置檔案中,一般為以下兩個格式:

properties
yaml
複製程式碼

二、使用yaml的原因:

  1. yaml格式的配置檔案,結構具有層次性,簡潔明瞭
  2. yaml的配置資料是有序的,properties是無序的,比如配置shiro攔截鏈,應該先配置anon,系統不進行攔截,然後攔截所有其他請求,如果使用properties會導致順序顛倒

properties:

yaml:

三、配置檔案存放位置

優先順序:從上往下遞減

  1. 當前專案根目錄下的 config 目錄下
  2. 當前專案的根目錄下
  3. resources 目錄下的 config 目錄下
  4. resources 目錄下

(圖片來自:江南一點雨)

現在需求:配置檔案讀取resources中config資料夾裡面的application.properties

如圖所示:設定

configurations:

spring.config.localtion=classpath:/config/
複製程式碼

也可以在啟動命令中設定:

java -jar gofly-0.0.1-SNAPSHOT.jar --spring.config.location=classpath:/config/
複製程式碼

四、設定不同的檔名

檔名:gofly.properties
複製程式碼

配置檔名不僅僅叫做application.properties,也可以叫做其他的名稱

configurations:
        spring.config.name = gofly
複製程式碼

注意:在Environment variables也可以同時配置 ==路徑 檔名==

五、普通屬性注入

1、預設配置檔案

在SpringBoot中會自動載入application.properties配置檔案,所以普通屬性可以寫在配置檔案中

注意⚠️:其中的User類一定需要新增==@Component== 註解,如果不新增,Spring不能掃描到元件,也就無法獲取配置檔案中的屬性

2、指定配置檔名稱

使用不同名字的配置檔案,運用

@PropertySource
複製程式碼

來指定配置檔案路徑及名稱

當容器啟動,就會自動載入user.properties配置檔案

五、型別安全屬性注入

運用:

@ConfigurationProperties(prefix = "user")
複製程式碼

在配置檔案中找到user開頭的key,然後獲取到value

注意⚠️:使用該註解後,不需要在屬性上配置@Value註解