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

Java?properties?和?yml?的區(qū)別解析

 更新時(shí)間:2023年02月17日 09:51:06   作者:ζ◇十點(diǎn)半就睡覺  
properties和yml都是Spring?Boot支持的兩種配置文件,它們可以看做Spring?Boot在不同時(shí)期的兩種“產(chǎn)品”,這篇文章主要介紹了Java?properties?和?yml?的區(qū)別,需要的朋友可以參考下

properties和yml的區(qū)別

這幾天剛好看到Spring Boot當(dāng)中有兩種配置文件的方式,但是這兩種配置方式有什么區(qū)別呢?

propertiesyml都是Spring Boot支持的兩種配置文件,它們可以看做Spring Boot在不同時(shí)期的兩種“產(chǎn)品”。在Spring Boot時(shí)代已經(jīng)不需要xml文件格式來配置文件了。取而代之的是propertiesyml文件

properties配置文件屬于早期,也是目前創(chuàng)建Spring Boot(2.x)默認(rèn)的配置文件的格式,而yml可以看做是對(duì)properties配置文件的升級(jí),屬于Spring Boot的新版配置文件

propertiesyml的區(qū)別主要體現(xiàn)在以下4點(diǎn):

  • 定義和定位不同
  • 語法不同
  • yml更好的配置多種數(shù)據(jù)類型
  • yml支持多種語言,通用性更好

① 定義和定位不同

properties翻譯成中文是“屬性”的意思,所以它在創(chuàng)建之初,就是用來在Spring Boot當(dāng)中設(shè)置屬性的。yml是YAML的縮寫,它的全稱是Yet Another Markup Language,翻譯成中文是“另一種標(biāo)記語言”

二者從定義可以看出:它們的定位和層次是完全不同的,properties只是用來配置一些屬性的。而yml的格局和期望更大,它的定位是”另一種標(biāo)記語言“。所以這波格局上來說yml是在天花板上了

② 語法不同

propertiesyml的語法區(qū)別很大,properties配置文件的基本用法如下:

# 配置項(xiàng)目啟動(dòng)端口
server.port=8080
# 開啟調(diào)試模式
debug=true
# 配置數(shù)據(jù)連接信息
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/zy?characterEncoding=utf8&&useSSL=false
spring.datasource.name=root
spring.datasource.password=123456

從上述基本語法可以看出:properties的基本語法格式是key=value的形式,而yml的配置文件基本語法如下:

# 配置項(xiàng)目啟動(dòng)端口
server:
  port: 8080
# 開啟調(diào)試模式
debug: true
# 配置數(shù)據(jù)連接信息
spring:
  datasource:
    url: jdbc:mysql://127.0.0.1:3306/zy?characterEncoding=utf8&&useSSL=false
    name: root
    password: 123456

yml格式有一個(gè)地方需要特別注意:冒號(hào)后面那個(gè)空格不能省略,否則程序會(huì)報(bào)錯(cuò)

properties:

image-20230216114031934

yml:

image-20230216114053881

從上述的對(duì)比可以看出,相比于properties來說,yml的語法更加簡(jiǎn)潔,并且可讀性更高

③ yml更好的配置多種數(shù)據(jù)類型

yml除了可以很好的配置數(shù)據(jù)類型之外,它還可以很方便的配置對(duì)象、集合等數(shù)據(jù)類型

yml中配置對(duì)象數(shù)據(jù)類型

student:
  id: 1
  name: zhangsan
  age: 18

或者使用行內(nèi)寫法配置對(duì)象(與上面的寫法效果一致)

student: {id: 1, name: zhangsna, age: 18}

yml當(dāng)中配置數(shù)組也有兩種寫法:

animal:
  - dog
  - pig
  - cat
animal: [dog, pig]

④ yml可以跨語言

properties格式的配置文件只適用于Spring Boot項(xiàng)目,也就是適用于Java開發(fā),而yml支持更多種開發(fā)語言,它可以用在Java、PHP、Python、Ruby、JavaScript、等語言當(dāng)中

作用:如果一個(gè)公司有不同語言的開發(fā)團(tuán)隊(duì),并且使用了配置中心,那么這些不同語言的開發(fā)團(tuán)隊(duì)是不是就可以使用同一份配置文件了

⑤ 總結(jié)

propertiesyml都是Spring Boot支持的兩種配置文件,其中yml格式的配置文件可以看做是對(duì)properties配置文件的升級(jí)。它們的主要區(qū)別有4點(diǎn):定義和定位不同、語法不同、yml可以更好的配置多種數(shù)據(jù)類型、yml可以跨語言使用

到此這篇關(guān)于Java properties 和 yml 的區(qū)別的文章就介紹到這了,更多相關(guān)Java properties 和 yml 內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 一篇文章弄懂JVM類加載機(jī)制過程以及原理

    一篇文章弄懂JVM類加載機(jī)制過程以及原理

    JVM原理對(duì)于初學(xué)者而言,比較晦澀難以理解,概念繁多又比較抽象,很多時(shí)候感覺看不見摸不著,還不好驗(yàn)證,下面這篇文章主要給大家介紹了關(guān)于如何通過一篇文章弄懂JVM類加載機(jī)制過程及原理的相關(guān)資料,需要的朋友可以參考下
    2023-02-02
  • Java的MyBatis框架中MyBatis Generator代碼生成器的用法

    Java的MyBatis框架中MyBatis Generator代碼生成器的用法

    這篇文章主要介紹了Java的MyBatis框架中Mybatis Generator代碼生成器的用法,Mybatis Generator主要被用來生成繁瑣的配置文件來提高效率,需要的朋友可以參考下
    2016-04-04
  • feign name指定服務(wù)調(diào)用無效問題及解決

    feign name指定服務(wù)調(diào)用無效問題及解決

    文章主要介紹了FeignClient注解的常用屬性,并通過一個(gè)具體的例子說明了為什么某個(gè)Feign調(diào)用需要使用url指定路徑才能訪問,最后,文章給出了解決辦法,即使用path屬性指定前綴
    2024-11-11
  • Java并發(fā)內(nèi)存模型詳情

    Java并發(fā)內(nèi)存模型詳情

    這篇文章主要介紹了Java并發(fā)內(nèi)存模型,Java是一門支持多線程執(zhí)行的語言,要編寫正確的并發(fā)程序,了解Java內(nèi)存模型是重要前提。而了解硬件內(nèi)存模型有助于理解程序的執(zhí)行,下面文章就來看看詳細(xì)內(nèi)容吧
    2021-10-10
  • 使用hibernate和struts2實(shí)現(xiàn)分頁功能的示例

    使用hibernate和struts2實(shí)現(xiàn)分頁功能的示例

    本篇文章主要介紹了使用hibernate和struts2實(shí)現(xiàn)分頁功能,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-01-01
  • 源碼解析Java類加載器

    源碼解析Java類加載器

    這篇文章主要給大家介紹了Java類加載器源碼解析的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • java“與”符號(hào)寫法與用法

    java“與”符號(hào)寫法與用法

    在本篇文章里小編給大家整理的是關(guān)于java“與”符號(hào)寫法與用法,對(duì)此有需要的朋友們可以學(xué)習(xí)下。
    2020-02-02
  • Springboot 讀取 yml 配置文件里的參數(shù)值

    Springboot 讀取 yml 配置文件里的參數(shù)值

    本文主要介紹了Springboot 讀取 yml 配置文件里的參數(shù)值,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-12-12
  • Java中StringUtils工具類的一些用法實(shí)例

    Java中StringUtils工具類的一些用法實(shí)例

    這篇文章主要介紹了Java中StringUtils工具類的一些用法實(shí)例,本文著重講解了isEmpty和isBlank方法的使用,另外也講解了trim、strip等方法的使用實(shí)例,需要的朋友可以參考下
    2015-06-06
  • Java notify和notifyAll的區(qū)別和相同

    Java notify和notifyAll的區(qū)別和相同

    本文主要介紹Java notify和notifyAll的知識(shí),這里整理詳細(xì)的資料來說明notify 和NotifAll的區(qū)別,有需要的小伙伴可以參考下
    2016-09-09

最新評(píng)論