最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SpringBoot3-yaml文件配置方式

 更新時(shí)間:2024年03月09日 14:34:56   作者:CoderJia_  
這篇文章主要介紹了SpringBoot3-yaml文件配置方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

引言

YAML(YAML Ain’t Markup Language)是一種常用于配置文件的數(shù)據(jù)序列化格式,因其易于閱讀和書(shū)寫(xiě)而廣受歡迎。

在 Spring Boot 應(yīng)用中,YAML 文件通常用于替代傳統(tǒng)的 properties 文件,用于配置應(yīng)用的各種參數(shù)。

本教程將引導(dǎo)你了解 YAML 文件的基本寫(xiě)法和在 Spring Boot 中的應(yīng)用。

YAML 的配置文件后綴為 .yml.yaml,如:app.yml

YAML 基本語(yǔ)法

YAML 的設(shè)計(jì)目標(biāo)是易于閱讀和書(shū)寫(xiě),其主要元素包括:

  • 縮進(jìn):YAML 使用縮進(jìn)表示層級(jí)關(guān)系,通常使用兩個(gè)空格作為縮進(jìn)級(jí)別,不推薦使用 Tab 鍵。
  • 鍵值對(duì):使用冒號(hào)加空格分隔鍵和值。
  • 列表:使用短橫線 - 表示列表項(xiàng)。
  • 注釋:使用井號(hào) # 開(kāi)頭標(biāo)記注釋。
  • 大小寫(xiě)敏感:建議使用串式命名法(短橫線-)代替駝峰,即使用 device-type 代替 deviceType。

YAML 數(shù)據(jù)類(lèi)型

YAML 支持以下幾種數(shù)據(jù)類(lèi)型:

  • 對(duì)象:鍵值對(duì)的集合,又稱(chēng)為映射(mapping)/ 哈希(hashes) / 字典(dictionary);
  • 數(shù)組:一組按次序排列的值,又稱(chēng)為序列(sequence) / 列表(list);
  • 標(biāo)量(scalars):?jiǎn)蝹€(gè)的、不可再分的值;

YAML 對(duì)象

  • 對(duì)象鍵值對(duì)使用冒號(hào)結(jié)構(gòu)表示 key: value,(注意:冒號(hào)后面要加一個(gè)空格)。
  • 也可以使用 key:{key1: value1, key2: value2, …}。
  • 還可以使用縮進(jìn)表示層級(jí)關(guān)系。

示例:

key: 
    child-key: value
    child-key2: value2

示例

較為復(fù)雜的對(duì)象格式,可以使用問(wèn)號(hào)加一個(gè)空格代表一個(gè)復(fù)雜的 key,配合一個(gè)冒號(hào)加一個(gè)空格代表一個(gè) value:

? 
  - k1
  - k2
  - k3
:
  - v1
  - v2
  - v3

示例

YAML 數(shù)組

以"-"開(kāi)頭的行表示構(gòu)成一個(gè)數(shù)組(注意:-后面有一個(gè)空格):

- A
- B
- C

示例

YAML數(shù)組也可以使用行內(nèi)表示:

key: [value1, value2, ...]

示例

數(shù)據(jù)子成員是一個(gè)數(shù)組(注意縮減一個(gè)空格):

-
 - A
 - B
 - C

示例

數(shù)據(jù)子成員是一個(gè)對(duì)象數(shù)組:

list:
 -
  id: 1
  name: n1
 -
  id: 2
  name: n2

示例

意思是 list 屬性是一個(gè)對(duì)象數(shù)組,每一個(gè)數(shù)組元素又是由 id、name 兩個(gè)屬性構(gòu)成。

數(shù)組也可以使用流式(flow )的方式表示:

示例

復(fù)合結(jié)構(gòu)

數(shù)組和對(duì)象可以構(gòu)成復(fù)合結(jié)構(gòu),例:

YAML Resources:
  YAML Specifications:
  - YAML 1.2:
    - Revision 1.2.2      # Oct 1, 2021 *New*
    - Revision 1.2.1      # Oct 1, 2009
    - Revision 1.2.0      # Jul 21, 2009
  - YAML 1.1
  - YAML 1.0

  YAML Matrix Chat:  '#chat:yaml.io'     # Our New Group Chat Room!
  YAML IRC Channel:  libera.chat#yaml    # The old chat

示例

標(biāo)量

純量是最基本的,不可再分的值,包括:

  • 字符串
  • 布爾值
  • 整數(shù)
  • 浮點(diǎn)數(shù)
  • Null
  • 時(shí)間
  • 日期

使用一個(gè)例子來(lái)快速了解標(biāo)里可以使用哪些表示形式:

boolean: 
    - TRUE  #true,True都可以
    - FALSE  #false,F(xiàn)alse都可以
float:
    - 3.14
    - 6.8523015e+5  #可以使用科學(xué)計(jì)數(shù)法
int:
    - 123
    - 0b1010_0111_0100_1010_1110    #二進(jìn)制表示
null:
    nodeName: 'node'
    parent: ~  #使用~表示null
string:
    - 哈哈
    - 'Hello world'  #可以使用雙引號(hào)或者單引號(hào)包裹特殊字符
    - newline
      newline2    #字符串可以拆成多行,每一行會(huì)被轉(zhuǎn)化成一個(gè)空格
date:
    - 2018-02-17    #日期必須使用ISO 8601格式,即yyyy-MM-dd
datetime: 
    -  2018-02-17T15:02:31+08:00    #時(shí)間使用ISO 8601格式,時(shí)間和日期之間使用T連接,最后使用+代表時(shí)區(qū)

示例

引用

“&”錨點(diǎn)和“*****”別名,可以用來(lái)引用(相當(dāng)于定義變量和使用變量):

- &V1 java
- C
- C++
- *V1

示例

再看一個(gè)復(fù)雜的例子:

defaults: &defaults
  adapter:  postgres
  host:     localhost

development:
  database: myapp_development
  <<: *defaults

test:
  database: myapp_test
  <<: *defaults

示例

& 用來(lái)建立錨點(diǎn)(defaults),<< 表示合并到當(dāng)前數(shù)據(jù),* 用來(lái)引用錨點(diǎn)。

YAML 文件結(jié)構(gòu)

以下是一個(gè)簡(jiǎn)單的 YAML 配置文件示例:

server:
  port: 8080
  context-path: /api

spring:
  datasource:
    url: jdbc:mysql://localhost:3306/mydb
    username: user
    password: pass
  jpa:
    hibernate:
      ddl-auto: update
    show-sql: true

myapp:
  feature:
    enabled: true
    security:
      level: high

在這個(gè)例子中:

server, spring, myapp 是頂級(jí)配置項(xiàng)。

使用縮進(jìn)表示層級(jí)結(jié)構(gòu),例如 datasourcespring 下的子項(xiàng)。

列表可以表示為:

myapp:
  roles:
    - admin
    - user
    - guest

Spring Boot 中的 YAML 配置

在 Spring Boot 應(yīng)用中,YAML 文件通常命名為 application.yml,放置在 src/main/resources 目錄下。

Spring Boot 會(huì)自動(dòng)加載這個(gè)文件并將其屬性綁定到 Spring 環(huán)境中。

示例:配置數(shù)據(jù)庫(kù)連接

spring:
  datasource:
    url: jdbc:mysql://localhost:3306/mydb
    username: dbuser
    password: dbpass
    driver-class-name: com.mysql.cj.jdbc.Driver

示例:配置多環(huán)境

你可以為不同的環(huán)境定義不同的配置文件,如 application-dev.yml, application-test.yml, application-prod.yml,并在主配置文件中指定活躍的配置文件:

spring:
  profiles:
    active: dev

注意事項(xiàng)

確保正確使用縮進(jìn),因?yàn)殄e(cuò)誤的縮進(jìn)會(huì)導(dǎo)致配置無(wú)法正確解析。

避免在 YAML 文件中使用 Tab 鍵,這可能導(dǎo)致解析錯(cuò)誤。

注意字符串中特殊字符的處理,必要時(shí)可以使用雙引號(hào)或單引號(hào)。

  • 單引號(hào)不會(huì)轉(zhuǎn)義【\n 則為普通字符串顯示】
  • 雙引號(hào)會(huì)轉(zhuǎn)義【\n會(huì)顯示為換行符

大文本

  • |開(kāi)頭,大文本寫(xiě)在下層,保留文本格式,換行符正確顯示
  • >開(kāi)頭,大文本寫(xiě)在下層,折疊換行符

多文檔合并

  • 使用---可以把多個(gè)yaml文檔合并在一個(gè)文檔中,每個(gè)文檔區(qū)依然認(rèn)為內(nèi)容獨(dú)立

總結(jié)

YAML 提供了一種更為人性化的配置文件格式,它通過(guò)簡(jiǎn)潔的結(jié)構(gòu)化格式,使得配置信息更加易于理解和維護(hù)。

在 Spring Boot 中,通過(guò)使用 YAML,開(kāi)發(fā)者可以輕松地管理和切換不同環(huán)境下的配置,優(yōu)化開(kāi)發(fā)流程。

掌握 YAML 的基本寫(xiě)法和在 Spring Boot 中的應(yīng)用,將有助于提高你的開(kāi)發(fā)效率。

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

相關(guān)文章

最新評(píng)論

上犹县| 凌云县| 大石桥市| 新龙县| 七台河市| 嵊州市| 广东省| 邯郸市| 孝昌县| 通山县| 青龙| 阿城市| 蕲春县| 河池市| 东源县| 长垣县| 绥滨县| 永宁县| 柞水县| 神池县| 绵阳市| 沽源县| 闽侯县| 蒙自县| 城口县| 搜索| 开化县| 华池县| 莲花县| 夏邑县| 定州市| 台江县| 饶河县| 西安市| 巴彦淖尔市| 南昌县| 阿拉善左旗| 山东省| 忻城县| 屯留县| 年辖:市辖区|