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

Spring Boot兩種配置文件properties和yml區(qū)別

 更新時(shí)間:2023年07月18日 11:28:49   作者:Java中文社群  
這篇文章主要為大家介紹了java面試中常見(jiàn)問(wèn)到的Spring Boot兩種配置文件properties和yml區(qū)別解答,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

Spring Boot 支持的兩種配置文件

properties 和 yml 都是 Spring Boot 支持的兩種配置文件,它們可以看作是 Spring Boot 在不同時(shí)期的兩款“產(chǎn)品”。在 Spring Boot 時(shí)代已經(jīng)不需要使用 XML 文件格式來(lái)配置項(xiàng)目了,取而代之的是 properties 或 yml 文件。

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

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

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

區(qū)別1:定義和定位不同

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

所以從二者的定義可以看出:它們的定位和層次是完全不同的,properties 只是用來(lái)設(shè)置一些屬性配置的,而 yml 的格局和愿景更大,它的定位是“另一種標(biāo)記語(yǔ)言”,所以從格局上來(lái)講 yml 就甩 properties 好幾條街。

區(qū)別2:語(yǔ)法不同

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

# 配置項(xiàng)目啟動(dòng)端口號(hào)
server.port=8088
# 開(kāi)啟調(diào)試模式
debug=true
# 配置數(shù)據(jù)連接信息
spring.datasource.url=jdbc:mysql://127.0.0.0:3306/dbname?characterEncoding=utf8
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

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

# 配置項(xiàng)目啟動(dòng)端口號(hào)
server:
  port: 9090
# 開(kāi)啟調(diào)試模式
debug: true
# 配置數(shù)據(jù)連接信息
spring:
  datasource:
    url: jdbc:mysql://127.0.0.0:3306/dbname?characterEncoding=utf8
    username: root
    password: root
    driver-class-name: com.mysql.cj.jdbc.Driver

從上述配置文件可以看出:yml 的基本語(yǔ)法格式是“key: value”的形式,且冒號(hào)后面的空格是不能被省略的,否則項(xiàng)目啟動(dòng)會(huì)報(bào)錯(cuò):

從上述 properties 和 yml 配置數(shù)據(jù)庫(kù)的連接信息可以看出,相比于 properties 來(lái)說(shuō),yml 的語(yǔ)法更簡(jiǎn)潔,并且可讀性更高,它們的區(qū)別如下:

區(qū)別3:yml 更好的配置多種數(shù)據(jù)類型

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

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

student:
  id: 1
  name: Java
  age: 18

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

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

在 yml 中配置數(shù)組也有兩種寫法,可以這樣寫:

animal:
  - Dog
  - Cat

或者使用行內(nèi)寫法:

animal: [Dog, Cat]

區(qū)別4:yml 可以跨語(yǔ)言

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

至于作用嘛?如果一個(gè)公司有多個(gè)不同語(yǔ)言的開(kāi)發(fā)團(tuán)隊(duì),并且使用了配置中心(在線配置文件)的前提下,那么這些不同語(yǔ)言的開(kāi)發(fā)團(tuán)隊(duì)就可以使用同一份配置文件了,也方便后期的管理和維護(hù)。

總結(jié)

properties 和 yml 都是 Spring Boot 支持的兩種配置文件,其中 yml 格式的配置文件可以看作是對(duì) properties 配置文件的升級(jí)。它們的主要區(qū)別有 4 點(diǎn):定義和定位不同、語(yǔ)法不同:yml 的語(yǔ)法更簡(jiǎn)單,且可讀性更高、yml 可以更好的配置多種數(shù)據(jù)類型,比如對(duì)象和集合、yml 可以跨語(yǔ)言使用,通用性更好。

java面試合集:https://gitee.com/mydb/interview

以上就是Spring Boot兩種配置文件properties和yml區(qū)別的詳細(xì)內(nèi)容,更多關(guān)于SpringBoot properties yml區(qū)別的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • java_object的簡(jiǎn)單使用詳解

    java_object的簡(jiǎn)單使用詳解

    下面小編就為大家?guī)?lái)一篇java_object的簡(jiǎn)單使用詳解。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-06-06
  • Java中保留兩位小數(shù)的四種方法實(shí)現(xiàn)實(shí)例

    Java中保留兩位小數(shù)的四種方法實(shí)現(xiàn)實(shí)例

    今天小編就為大家分享一篇關(guān)于Java中保留兩位小數(shù)的四種方法實(shí)現(xiàn)實(shí)例,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2019-02-02
  • SpringBoot整合JavaMail實(shí)現(xiàn)發(fā)郵件的項(xiàng)目實(shí)踐

    SpringBoot整合JavaMail實(shí)現(xiàn)發(fā)郵件的項(xiàng)目實(shí)踐

    本文主要介紹了SpringBoot整合JavaMail實(shí)現(xiàn)發(fā)郵件的項(xiàng)目實(shí)踐,詳細(xì)闡述了使用SpringBoot和JavaMail發(fā)送郵件的步驟,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-10-10
  • Spring Bean常用依賴注入方式詳解

    Spring Bean常用依賴注入方式詳解

    這篇文章主要介紹了Spring Bean常用三種依賴注入方式詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-07-07
  • SpringBoot可視化接口開(kāi)發(fā)工具magic-api的簡(jiǎn)單使用教程

    SpringBoot可視化接口開(kāi)發(fā)工具magic-api的簡(jiǎn)單使用教程

    作為Java后端開(kāi)發(fā),平時(shí)開(kāi)發(fā)API接口的時(shí)候經(jīng)常需要定義Controller、Service、Dao、Mapper、XML、VO等Java對(duì)象。有沒(méi)有什么辦法可以讓我們不寫這些代碼,直接操作數(shù)據(jù)庫(kù)生成API接口呢?今天給大家推薦一款工具magic-api,來(lái)幫我們實(shí)現(xiàn)這個(gè)小目標(biāo)!
    2021-06-06
  • Java驗(yàn)證碼功能的實(shí)現(xiàn)方法

    Java驗(yàn)證碼功能的實(shí)現(xiàn)方法

    這篇文章主要為大家詳細(xì)介紹了Java驗(yàn)證碼功能的實(shí)現(xiàn)方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-11-11
  • idea 無(wú)法debug調(diào)試的解決方案

    idea 無(wú)法debug調(diào)試的解決方案

    這篇文章主要介紹了idea 無(wú)法debug調(diào)試的解決方案,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • Java與Scala創(chuàng)建List與Map的實(shí)現(xiàn)方式

    Java與Scala創(chuàng)建List與Map的實(shí)現(xiàn)方式

    這篇文章主要介紹了Java與Scala創(chuàng)建List與Map的實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • JavaMail整合Spring實(shí)現(xiàn)郵件發(fā)送功能

    JavaMail整合Spring實(shí)現(xiàn)郵件發(fā)送功能

    這篇文章主要為大家詳細(xì)介紹了JavaMail整合Spring實(shí)現(xiàn)郵件發(fā)送功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • Java中Objects.equals踩坑記錄

    Java中Objects.equals踩坑記錄

    最近在工作中發(fā)現(xiàn)一個(gè)問(wèn)題,覺(jué)著還是挺有必要記錄下的,這篇文章主要給大家介紹了關(guān)于Java中Objects.equals踩坑的相關(guān)資料,需要的朋友可以參考下
    2022-03-03

最新評(píng)論