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

SpringBoot3-yaml文件配置方式

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

引言

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

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

本教程將引導你了解 YAML 文件的基本寫法和在 Spring Boot 中的應用。

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

YAML 基本語法

YAML 的設計目標是易于閱讀和書寫,其主要元素包括:

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

YAML 數(shù)據(jù)類型

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

  • 對象:鍵值對的集合,又稱為映射(mapping)/ 哈希(hashes) / 字典(dictionary);
  • 數(shù)組:一組按次序排列的值,又稱為序列(sequence) / 列表(list);
  • 標量(scalars):單個的、不可再分的值;

YAML 對象

  • 對象鍵值對使用冒號結(jié)構表示 key: value,(注意:冒號后面要加一個空格)。
  • 也可以使用 key:{key1: value1, key2: value2, …}。
  • 還可以使用縮進表示層級關系。

示例:

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

示例

較為復雜的對象格式,可以使用問號加一個空格代表一個復雜的 key,配合一個冒號加一個空格代表一個 value:

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

示例

YAML 數(shù)組

以"-"開頭的行表示構成一個數(shù)組(注意:-后面有一個空格):

- A
- B
- C

示例

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

key: [value1, value2, ...]

示例

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

-
 - A
 - B
 - C

示例

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

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

示例

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

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

示例

復合結(jié)構

數(shù)組和對象可以構成復合結(jié)構,例:

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

示例

標量

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

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

使用一個例子來快速了解標里可以使用哪些表示形式:

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

示例

引用

“&”錨點和“*****”別名,可以用來引用(相當于定義變量和使用變量):

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

示例

再看一個復雜的例子:

defaults: &defaults
  adapter:  postgres
  host:     localhost

development:
  database: myapp_development
  <<: *defaults

test:
  database: myapp_test
  <<: *defaults

示例

& 用來建立錨點(defaults),<< 表示合并到當前數(shù)據(jù),* 用來引用錨點。

YAML 文件結(jié)構

以下是一個簡單的 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

在這個例子中:

server, spring, myapp 是頂級配置項。

使用縮進表示層級結(jié)構,例如 datasourcespring 下的子項。

列表可以表示為:

myapp:
  roles:
    - admin
    - user
    - guest

Spring Boot 中的 YAML 配置

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

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

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

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

注意事項

確保正確使用縮進,因為錯誤的縮進會導致配置無法正確解析。

避免在 YAML 文件中使用 Tab 鍵,這可能導致解析錯誤。

注意字符串中特殊字符的處理,必要時可以使用雙引號或單引號。

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

大文本

  • |開頭,大文本寫在下層,保留文本格式,換行符正確顯示
  • >開頭,大文本寫在下層,折疊換行符

多文檔合并

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

總結(jié)

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

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

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

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

相關文章

  • Java HttpClient用法的示例詳解

    Java HttpClient用法的示例詳解

    Java開發(fā)語言中實現(xiàn)HTTP請求的方法主要有兩種:一種是JAVA的標準類HttpUrlConnection;另一種是第三方開源框架HTTPClient。本文就將詳細講講Java中HttpClient的使用,需要的可以參考一下
    2022-07-07
  • SpringBoot在項目停止(服務停止/關閉退出)之后執(zhí)行的方法

    SpringBoot在項目停止(服務停止/關閉退出)之后執(zhí)行的方法

    這篇文章主要給大家介紹了SpringBoot在項目停止(服務停止/關閉退出)之后執(zhí)行的兩種方法,實現(xiàn)DisposableBean接口和使用@PreDestroy注解,文中有詳細的代碼講解,具有一定的參考價值,需要的朋友可以參考下
    2023-12-12
  • SpringBoot Service和Dao的編寫詳解

    SpringBoot Service和Dao的編寫詳解

    這篇文章主要介紹了SpringBoot Service和Dao的編寫詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-11-11
  • Struts2攔截器登錄驗證實例

    Struts2攔截器登錄驗證實例

    本篇文章主要介紹了Struts2攔截器登錄驗證實例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-05-05
  • 全排列算法-遞歸與字典序的實現(xiàn)方法(Java)

    全排列算法-遞歸與字典序的實現(xiàn)方法(Java)

    下面小編就為大家?guī)硪黄帕兴惴?遞歸與字典序的實現(xiàn)方法(Java) 。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-04-04
  • 基于Spring概念模型:PathMatcher 路徑匹配器

    基于Spring概念模型:PathMatcher 路徑匹配器

    這篇文章主要介紹了Spring概念模型:PathMatcher 路徑匹配器,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • springboot處理異常的5種方式

    springboot處理異常的5種方式

    本文主要介紹了springboot處理異常的5種方式,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-08-08
  • Java實現(xiàn)統(tǒng)計文件夾下所有文件的字數(shù)

    Java實現(xiàn)統(tǒng)計文件夾下所有文件的字數(shù)

    這篇文章主要為大家詳細介紹了如何使用Java實現(xiàn)統(tǒng)計文件夾下所有文件的字數(shù),文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下
    2024-03-03
  • Spring AOP之@Around,@AfterReturning使用、切不進去的解決方案

    Spring AOP之@Around,@AfterReturning使用、切不進去的解決方案

    這篇文章主要介紹了Spring AOP之@Around,@AfterReturning使用、切不進去的解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • Java對List進行排序的方法總結(jié)

    Java對List進行排序的方法總結(jié)

    在Java中,對List進行排序是一項常見的任務,Java提供了多種方法來對List中的元素進行排序,本文將詳細介紹如何使用Java來實現(xiàn)List的排序操作,涵蓋了常用的排序方法和技巧,需要的朋友可以參考下
    2024-07-07

最新評論