欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

SpringBoot配置application.yml時(shí)遇到的錯(cuò)誤及解決

 更新時(shí)間:2024年07月15日 08:41:15   作者:半枝竹  
這篇文章主要介紹了SpringBoot配置application.yml時(shí)遇到的錯(cuò)誤及解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

SpringBoot配置application.yml時(shí)遇到錯(cuò)誤

控制臺(tái)報(bào)錯(cuò):

org.yaml.snakeyaml.scanner.ScannerException: mapping values are not allowed here in 'reader', line 13, column 10:          url: jdbc:mysql://localhost:3306/ho ... 

問題:

driver-class-name與下面的配置項(xiàng)應(yīng)該是同級(jí)的,其他三項(xiàng)前多了空格

此外,application.yml文件中的配置鍵值對(duì)都要用冒號(hào)加一個(gè)空格隔開鍵和值

SpringBoot application.yml一些加載規(guī)則

SpringBoot是Java后端開發(fā)必須掌握的技術(shù)棧,而application.yml文件作為SpringBoot的核心配置,我們有必要去搞清楚約定的規(guī)則,提高開發(fā)效率。

1.application.yml與application.properties加載順序

當(dāng)src/main/resources目錄下同時(shí)存在application.yml和application.properties的時(shí)候,兩個(gè)配置文件中的內(nèi)容都會(huì)被加載。

加載順序是:

  • 1.application.yml
  • 2.application.properties

假設(shè)兩個(gè)配置文件中存在相同的配置,那么后加載的將會(huì)覆蓋掉先加載的,可以理解為Map的put操作。

PS:

該加載順序規(guī)則同樣適用于application-{profile}.yml和application-{profile}.yml,不過在項(xiàng)目實(shí)踐中不建議將yml和properties混用,避免后期維護(hù)起來困難。

2.src/test/resources/application.yml與src/main/resources/application.yml加載順序

通常在對(duì)SpringBoot應(yīng)用做單元測(cè)試時(shí),會(huì)在src/test/resources目錄下的新增application.yml,因?yàn)闇y(cè)試的配置往往和應(yīng)用的配置存在差異。

當(dāng)@SpringBootTest注解標(biāo)注的類啟動(dòng)Spring上下文時(shí)會(huì)先加載src/main/resources/application.yml,然后加載src/test/resources目錄下的application.yml,當(dāng)key相同時(shí)后加載的配置將覆蓋先加載的配置。

3.多環(huán)境下的application.yml加載問題

兩種方式:

  • 單一application.yml配置方式
spring:
  profiles:
    active: local # 啟動(dòng)哪個(gè)環(huán)境的配置,---用來設(shè)置便捷

---
spring:
  config:
    activate:
      on-profile: local
server:
  port: 8080

---
spring:
  config:
    activate:
      on-profile: product
server:
  port: 8081

---
spring:
  config:
    activate:
      on-profile:  test
server:
  port: 808
  • 多配置文件方式

顯然將多個(gè)環(huán)境的配置放在同一份配置文件中,隨著后期配置項(xiàng)的不斷增加,整個(gè)配置文件的會(huì)顯得非常臃腫,而且本地配置文件和生產(chǎn)配置文件差異可能也較大,后期不同開發(fā)人員維護(hù)起來也比較痛苦。

一個(gè)好的辦法是將一個(gè)配置文件拆分成多個(gè)配置文件,通過這種方式,每個(gè)配置文件中寫自己的配置,主配置文件中寫清楚用哪一個(gè)配置文件就好了,當(dāng)然如果有些配置項(xiàng)所有環(huán)境都一樣,也可以將這些配置都維護(hù)在主配置文件中。 

多環(huán)境配置文件的命名規(guī)則為:application-環(huán)境名.yml

### application.yml主配置文件
spring:
  profiles:
    active: dev 

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論