springboot的多環境配置和yml的介紹

springboot的多環境配置和yml的介紹

yml的介紹

springboot的配置文件可以分爲兩種形式、一種是.properties文件、一種是.yml.yaml的後綴文件形式

.yml : 是yaml的一種簡寫、他們兩個都可以使用。

以properties 爲後綴的文件

​ 這種配置文件、是k=v;形式的配置文件、這種配置文件應該都用過

以yml爲後綴的文件

一、YML是什麼

​ YAML (YAML Ain’t a Markup Language)YAML不是一種標記語言,通常以.yml爲後綴的文件,是一種直觀的能夠被電腦識別的數據序列化格式,並且容易被人類閱讀,容易和腳本語言交互的,可以被支持YAML庫的不同的編程語言程序導入,一種專門用來寫配置文件的語言。可用於如: Java,C/C++, Ruby, Python, Perl, C#, PHP等。

二、YML的優點

  1. YAML易於人們閱讀。
  2. YAML數據在編程語言之間是可移植的。
  3. YAML匹配敏捷語言的本機數據結構。
  4. YAML具有一致的模型來支持通用工具。
  5. YAML支持單程處理。
  6. YAML具有表現力和可擴展性。
  7. YAML易於實現和使用。

三、YML語法

1、約定

  • k: v 表示鍵值對關係,冒號後面必須有一個空格
  • 使用空格的縮進表示層級關係,空格數目不重要,只要是左對齊的一列數據,都是同一個層級的
  • 大小寫敏感
  • 縮進時不允許使用Tab鍵,只允許使用空格。
  • 鬆散表示,java中對於駝峯命名法,可用原名或使用-代替駝峯,如java中的lastName屬性,在yml中使用lastName或 last-name都可正確映射。

四、yml可以配置的數據格式

他可以配置的數據格式有 普通的值(數字、字符串、布爾)、日期、對象、數組、集合等。

1)普通的值

字符串默認不用加上單引號或者雙引號。

name: 張三
age: 18
flag: true

2)日期

date: 2020/5/10

3)對象(屬性和值) Map(鍵值對)

person:
	name: 張三
	age: 18

也可以寫成一行

person: {name: 張三, age: 18}

4) 數組、list、set

用-表示數組中的一個元素

arrays:
	- dog
  - pig
  - cat

也可以寫成一行

arrays: [dog,pig,cat]

總結:推薦使用以.yml爲配置文件、這種配置文件的方式簡潔、乾淨、畢竟別人的官網也推薦我們使用。

springboot的多環境配置

在springboot中可以有多個.yml配置或.properties的文件、這些文件可能是測試環境,預生產環境,生產環境可以使用不同的配置 、我們也可以選擇激活哪一個配置文件。

一、在多個properties的配置文件、我們如何選擇一個配置文件來使用呢?

假設有3的配置文件、springboot先會讀取application.properties的配置文件、此時發現有spring.profiles.active=test這句話、他就會去尋找配置文件名-後面的的名字是否有文件名匹配上的、如果有將會加載application-xxxx.properties、如果沒有找到匹配的配置文件、將會加載自身的配置文件pplication.properties

1) application.properties

spring.profiles.active=test

2)application-dev.properties

server.port=8081

3)application-test.properties

server.port=8082

總結: 這種配置多環境比較麻煩、要創建多個properties文件、各有各的好處

二、在一個yml配置文件中配置多環境

--- : 可以叫做文檔分割符、有多個不一樣的配置用--- 來分割

如果在:

spring:
  profiles:
    active: test #指定激活對應的文檔快

中找不到test 文檔塊的話、他會找到自身的配置

1) application.yml

server:
  port: 8081
spring:
  profiles:
    active: test #指定激活對應的文檔快
---

server:
  port: 8082
spring:
  profiles: dev  #簡單來說這個就好比給這個文檔塊取了一個名字
  
---

server:
  port: 8083
spring:
  profiles: test

總結:在yml中配置配置多環境的好處就是不寫多個文件、看起來一目瞭然、比properties文件方便、各有各的好處

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章