Spring Boot配置文件簡單介紹

Spring Boot對配置文件支持非常友好,支持*.properties*.yml,前者是常用的配置文件,后者是Spring Boot推薦的配置文件。

一、Spring Boot支持的配置文件

Spring Boot支持兩種配置文件,一個是常見的.properties格式,另外一個就是專有的.yml或者*.yaml格式。一般兩者的命名都是application。

二、配置隨機(jī)值

這里是介紹如何配置隨機(jī)值等數(shù)值,可根據(jù)實際情況配置。兩種配置方式是等效的,實際選擇其中一種即可,推薦使用*.yml

1)application.properties

lemon.secret=${random.value}

# 獲取一個隨機(jī)整數(shù)
lemon.number=${random.int}

# 獲取一個隨機(jī)長整數(shù)
lemon.bignumber=${random.long}

# 獲取一個隨機(jī)0~10的隨機(jī)整數(shù)
lemon.number.less.than.ten=${random.int(10)}

# 獲取指定區(qū)間范圍的隨機(jī)整數(shù)
lemon.number.in.range=${random.int[1024,65536]}

2)application.yml

# 配置文件的設(shè)置
# 配置文件中是可以配置隨機(jī)值的
lemon:
  secret: ${random.value}
  number: ${random.int}
  bignumber: ${random.long}
  number1:
    less:
      than: ${random.int(10)}
    in:
      range: ${random.int[1,10]}

注意:冒號后面都有一個空格。
加載Spring Boot應(yīng)用時,會自動加載配置文件,在controller中獲取配置文件中值的方式是通過@Value這個注解,@Value(value = "${lemon.secret}")。

三、屬性占位符

當(dāng)application.properties里的值被使用時,它們會被存在的Environment過濾,所以你能夠引用先前定義的值(比如,系統(tǒng)屬性)。

lemon.name=www.cug.edu.cn
lemon.desc=${lemon.name} is a domain name

yml配置文件中設(shè)置方法一致。

四、其他屬性配置

# 端口配置
server.port=8090

# 時間格式化
spring.jackson.date-format=yyyy-MM-dd HH:mm:ss

# 時區(qū)設(shè)置
spring.jackson.time-zone=Asia/Chongqing

這是配置一些常見的公共屬性。yml格式的配置文件配置如下:

# 端口配置
server:
  port: 8080

# 時區(qū)和時間格式化
spring:
  jackson:
    date-format: yyyy-MM-dd HH:mm:ss
    time-zone: Asia/Chongqing

五、多文件配置

1、多環(huán)境配置文件的好處:
1)不同環(huán)境配置可以配置不同的參數(shù)
2)便于部署,提高效率,減少出錯

2、Properties多環(huán)境配置
1)配置激活選項 spring.profiles.active=dev,可以修改值來確定不同的環(huán)境配置
2)添加其他配置文件
application.properties
application-dev.properties
application-test.properties
application-pro.properties
更改激活選項,就可以加載激活不同的環(huán)境配置文件。公共的配置信息可以寫在application.properties文件中。

3、YAML多環(huán)境配置

spring:
  profiles:
      active: pro
  # 時區(qū)和時間格式化
  jackson:
    date-format: yyyy-MM-dd HH:mm:ss
    time-zone: Asia/Chongqing

---
spring:
  profiles: dev
# 端口配置
server:
  port: 8080

---
spring:
  profiles: pro
# 端口配置
server:
  port: 8081

---
spring:
  profiles: test
# 端口配置
server:
  port: 8082

更改激活選項的值就可以啟動不同的環(huán)境配置。不同的配置使用三個橫杠(-)區(qū)分即可。其實這是一種單文件多配置的一種體現(xiàn)方式。

4、兩種配置方法的比較
Properties配置多環(huán)境,需要添加多個配置文件,YAML只需要一個配件文件
書寫格式的差異,yaml相對比較簡潔,優(yōu)雅
YAML的缺點(diǎn):不能通過@PropertySource注解加載。如果需要使用@PropertySource注解的方式加載值,那就要使用properties文件。

5、如何使用
在命令行啟動:java -jar myapp.jar --spring.profiles.active=dev

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容