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

關(guān)于在Java中如何使用yaml的實(shí)例

 更新時(shí)間:2023年08月16日 09:17:17   作者:Sweb.  
這篇文章主要介紹了關(guān)于在Java中如何使用yaml的實(shí)例,YAML是一種輕量級(jí)的數(shù)據(jù)序列化格式。它以易讀、易寫(xiě)的文本格式表示數(shù)據(jù),支持列表、字典等各種數(shù)據(jù)結(jié)構(gòu),被廣泛應(yīng)用于配置文件、數(shù)據(jù)傳輸協(xié)議等領(lǐng)域,需要的朋友可以參考下

什么是yaml

YAML(Yet Another Markup Language)是一種輕量級(jí)的數(shù)據(jù)序列化格式。

它以易讀、易寫(xiě)的文本格式表示數(shù)據(jù),支持列表、字典等各種數(shù)據(jù)結(jié)構(gòu),被廣泛應(yīng)用于配置文件、數(shù)據(jù)傳輸協(xié)議等領(lǐng)域。

YAML的特點(diǎn)是語(yǔ)言簡(jiǎn)潔、可讀性強(qiáng)、可擴(kuò)展性好,常被用于人類(lèi)可讀的配置文件。

而properties是Java中一種常用的配置文件格式,它以鍵值對(duì)的方式表示數(shù)據(jù),常用于存儲(chǔ)程序中的配置信息。

Properties文件可以直接由Java的API進(jìn)行讀取和寫(xiě)入,也可以用其他語(yǔ)言實(shí)現(xiàn)的庫(kù)進(jìn)行處理。不同于YAML,properties只能表示鍵值對(duì)這一種數(shù)據(jù)結(jié)構(gòu)。

YAML和properties有以下幾個(gè)區(qū)別:

  • 語(yǔ)法形式不同:YAML的語(yǔ)法采用縮進(jìn)方式,更加緊湊、易讀,而properties的語(yǔ)法則是通過(guò)鍵值對(duì)的形式來(lái)定義數(shù)據(jù),較為簡(jiǎn)單明了。
  • 數(shù)據(jù)類(lèi)型支持不同:YAML支持多種數(shù)據(jù)類(lèi)型,包括數(shù)組、字典、布爾型等,而properties只支持字符串類(lèi)型,需要額外轉(zhuǎn)換。
  • 擴(kuò)展性不同:由于YAML的可擴(kuò)展性與靈活性更高,它可以輕松地?cái)U(kuò)展支持新的數(shù)據(jù)類(lèi)型或自定義標(biāo)簽,而properties則很難擴(kuò)展。

總之,YAML和properties是兩種不同的配置文件格式。YAML語(yǔ)法更加緊湊易讀,支持多種數(shù)據(jù)類(lèi)型和擴(kuò)展性好;

而properties則簡(jiǎn)單明了,只能表示鍵值對(duì)數(shù)據(jù)結(jié)構(gòu)。選擇哪種格式應(yīng)根據(jù)具體情況而定

一般來(lái)說(shuō),YAML適合于復(fù)雜的配置文件,而properties適合于簡(jiǎn)單的配置場(chǎng)景。

實(shí)體類(lèi)Person

package com.qing.springboot.pojo;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
import java.util.Date;
import java.util.List;
import java.util.Map;
@Component
@ConfigurationProperties(prefix = "person")
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Person {
    private String name;
    private Integer age;
    private Boolean happy;
    private Date birth;
    private Map<String, Object> maps;
    private List<Object> lists;
    private Dog dog;
}

實(shí)體類(lèi)Dog

package com.qing.springboot.pojo;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
@Data
@AllArgsConstructor
@NoArgsConstructor
@Component
public class Dog {
    @Value("旺財(cái)")
    private String name;
    @Value("3")
    private Integer age;
}

application.yaml文件

person:
  name: qing
  age: 4
  happy: false
  birth: 2020/11/11
  maps: {k1: 1,k2: "hello"}
  lists:
    - code
    - music
    - girl
  dog:
    name: "旺財(cái)"
    age: 3

測(cè)試

package com.qing.springboot;
import com.qing.springboot.pojo.Person;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
@SpringBootTest
class ApplicationTests {
    @Autowired
    private Person person;
    @Test
    void contextLoads() {
        System.out.println(person);
    }
}

結(jié)果

到此這篇關(guān)于關(guān)于在Java中如何使用yaml的實(shí)例的文章就介紹到這了,更多相關(guān)Java中使用yaml內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • mybatis之調(diào)用帶輸出參數(shù)的存儲(chǔ)過(guò)程(Oracle)

    mybatis之調(diào)用帶輸出參數(shù)的存儲(chǔ)過(guò)程(Oracle)

    這篇文章主要介紹了mybatis調(diào)用帶輸出參數(shù)的存儲(chǔ)過(guò)程(Oracle),具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • java并發(fā)編程JUC CountDownLatch線(xiàn)程同步

    java并發(fā)編程JUC CountDownLatch線(xiàn)程同步

    這篇文章主要介紹CountDownLatch是什么、CountDownLatch 如何工作、CountDownLatch 的代碼例子來(lái)展開(kāi)對(duì)java并發(fā)編程JUC CountDownLatch線(xiàn)程同步,需要的朋友可以參考下面文章內(nèi)容
    2021-09-09
  • JAVA寶藏工具h(yuǎn)utool的使用

    JAVA寶藏工具h(yuǎn)utool的使用

    開(kāi)發(fā)過(guò)程中總是會(huì)遇到需要自己自定義工具類(lèi)的情況,做一些數(shù)據(jù)轉(zhuǎn)換、字符串操作、日期處理、加解密、編解碼、金額計(jì)算等,本文就詳細(xì)的介紹有一個(gè)工具類(lèi)hutool的使用,感興趣的可以了解一下
    2021-10-10
  • java isPalindrome方法在密碼驗(yàn)證中的應(yīng)用

    java isPalindrome方法在密碼驗(yàn)證中的應(yīng)用

    這篇文章主要為大家介紹了java isPalindrome方法在密碼驗(yàn)證中的簡(jiǎn)單應(yīng)用技巧,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-12-12
  • Java多個(gè)線(xiàn)程同時(shí)執(zhí)行的方法

    Java多個(gè)線(xiàn)程同時(shí)執(zhí)行的方法

    這篇文章主要介紹了Java多線(xiàn)程處理文件詳解與代碼示例,通過(guò)本文的介紹和代碼示例,我們了解了如何使用Java多線(xiàn)程來(lái)處理文件,使用多線(xiàn)程技術(shù)可以顯著提高文件處理的效率,特別是對(duì)于大量文件的處理任務(wù),需要的朋友可以參考下
    2024-12-12
  • Java Calendar類(lèi)常用示例_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    Java Calendar類(lèi)常用示例_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    從JDK1.1版本開(kāi)始,在處理日期和時(shí)間時(shí),系統(tǒng)推薦使用Calendar類(lèi)進(jìn)行實(shí)現(xiàn)。接下來(lái)通過(guò)實(shí)例代碼給大家詳細(xì)介紹Java Calendar類(lèi)相關(guān)知識(shí),需要的朋友參考下吧
    2017-04-04
  • Java實(shí)現(xiàn)平鋪列表(List)互轉(zhuǎn)樹(shù)形(Tree)結(jié)構(gòu)

    Java實(shí)現(xiàn)平鋪列表(List)互轉(zhuǎn)樹(shù)形(Tree)結(jié)構(gòu)

    本文主要介紹了Java實(shí)現(xiàn)平鋪列表(List)互轉(zhuǎn)樹(shù)形(Tree)結(jié)構(gòu),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08
  • idea創(chuàng)建JAVA Class時(shí)自動(dòng)生成頭部文檔注釋的方法

    idea創(chuàng)建JAVA Class時(shí)自動(dòng)生成頭部文檔注釋的方法

    這篇文章主要介紹了idea創(chuàng)建JAVA Class時(shí)自動(dòng)生成頭部文檔注釋的方法,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-12-12
  • SpringBoot使用WebSocket實(shí)現(xiàn)前后端交互的操作方法

    SpringBoot使用WebSocket實(shí)現(xiàn)前后端交互的操作方法

    springboot使用websocket有兩種方式,一種是實(shí)現(xiàn)簡(jiǎn)單的websocket,另外一種是實(shí)現(xiàn)STOMP協(xié)議,本篇講述如何使用springboot實(shí)現(xiàn)簡(jiǎn)單的websocket,需要的朋友可以參考下
    2022-04-04
  • 解決idea update project 更新選項(xiàng)消失的問(wèn)題

    解決idea update project 更新選項(xiàng)消失的問(wèn)題

    這篇文章主要介紹了解決idea update project 更新選項(xiàng)消失的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-01-01

最新評(píng)論