SpringBoot中application.properties、application.yaml、application.yml區(qū)別
YAML是一種編寫(xiě)配置文件的語(yǔ)法,表現(xiàn)為使用.yml作為擴(kuò)展名的配置文件,Spring框架默認(rèn)并不支持此類配置文件,而Spring Boot的基礎(chǔ)依賴項(xiàng)中已經(jīng)包含解析此類文件的依賴項(xiàng),所以,在Spring Boot項(xiàng)目可以直接使用此類配置文件。
在Springboot項(xiàng)目中,使用.properties和.yml配置是等效的,均可以正常識(shí)別并使用.
這三者都是Spring Boot中用來(lái)配置應(yīng)用程序的文件格式。它們之間的區(qū)別在于文件格式和擴(kuò)展名,以及在Spring Boot應(yīng)用程序中的使用習(xí)慣。
application.properties:
這是最常見(jiàn)的配置文件格式,采用鍵值對(duì)的形式配置屬性。
樣例:
server.port=8080 spring.datasource.url=jdbc:mysql://localhost:3306/mydatabase
application.yaml:
這是YAML格式的配置文件,相比于.properties文件,它更加結(jié)構(gòu)化,可讀性更強(qiáng)。
樣例:
server:
port: 8080
spring:
datasource:
url: jdbc:mysql://localhost:3306/mydatabase
application.yml:
這與.application.yaml文件完全相同,只是采用了不同的文件擴(kuò)展名。在某些系統(tǒng)中,.yml擴(kuò)展名可能更常見(jiàn)。
樣例:
server:
port: 8080
spring:
datasource:
url: jdbc:mysql://localhost:3306/mydatabase當(dāng)你在一個(gè)Spring Boot應(yīng)用程序中使用這些配置文件時(shí),通常會(huì)有一定的加載順序和優(yōu)先級(jí):
application.properties 和 application.yaml 在同一目錄下,優(yōu)先級(jí)相同。如果兩者都存在,application.properties 的配置會(huì)覆蓋 application.yaml 的配置。
如果你希望在不同的環(huán)境中使用不同的配置,可以創(chuàng)建特定于環(huán)境的配置文件,如 application-{profile}.properties 或 application-{profile}.yaml,其中 {profile} 是你指定的環(huán)境配置,如 dev、prod 等。
在Spring Boot中,還可以通過(guò)命令行參數(shù)、環(huán)境變量、JNDI(Java Naming and Directory Interface)等方式來(lái)配置應(yīng)用程序。這些配置方式的優(yōu)先級(jí)通常比配置文件更高。
Properties與YML配置文件的區(qū)別
- YML文件以數(shù)據(jù)為中心,對(duì)于數(shù)據(jù)的支持和展現(xiàn)非常友好。
- Properties文件對(duì)格式的要求沒(méi)那么嚴(yán)格,而YML文件以空格的縮進(jìn)來(lái)控制層級(jí)關(guān)系,對(duì)格式的要求比較高,縮進(jìn)格式不對(duì)時(shí)容易出錯(cuò)。
- Properties文件支持@PropertySource注解,而YML文件不支持。
- YML文件支持多文檔塊的使用方式,使用起來(lái)非常靈活。
- Properties配置的優(yōu)先級(jí)高于YML文件。因?yàn)閅ML文件的加載順序先于Properties文件,如果兩個(gè)文件存在相同的配置,后面加載的Properties中的配置會(huì)覆蓋前面YML中的配置。
到此這篇關(guān)于SpringBoot中application.properties、application.yaml、application.yml區(qū)別的文章就介紹到這了,更多相關(guān)SpringBoot application.properties、application.yaml、application.yml內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java字符串轉(zhuǎn)時(shí)間簡(jiǎn)單示例代碼
這篇文章主要給大家介紹了關(guān)于Java字符串轉(zhuǎn)時(shí)間的相關(guān)資料,在Java中字符和字符串常常需要相互轉(zhuǎn)化,文中通過(guò)代碼示例介紹的非常詳細(xì),需要的朋友可以參考下2023-08-08
java 定時(shí)同步數(shù)據(jù)的任務(wù)優(yōu)化
這篇文章主要介紹了java 定時(shí)同步數(shù)據(jù)的任務(wù)優(yōu)化,幫助大家更好的理解和使用Java,感興趣的朋友可以了解下2020-12-12
SpringBoot + validation 接口參數(shù)校驗(yàn)的思路詳解
這篇文章主要介紹了SpringBoot + validation 接口參數(shù)校驗(yàn),本文通過(guò)項(xiàng)目實(shí)踐+場(chǎng)景分析給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-10-10
springboot結(jié)合mybatis-plus基于session模擬短信注冊(cè)功能
本文主要介紹了springboot結(jié)合mybatis-plus基于session模擬短信注冊(cè)功能,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-11-11
SpringBoot項(xiàng)目中如何實(shí)現(xiàn)MySQL讀寫(xiě)分離詳解
在高并發(fā)下需要對(duì)應(yīng)用進(jìn)行讀寫(xiě)分離,配置多數(shù)據(jù)源,即寫(xiě)操作走主庫(kù),讀操作則走從庫(kù),主從數(shù)據(jù)庫(kù)負(fù)責(zé)各自的讀和寫(xiě),緩解了鎖的爭(zhēng)用,提高了讀取性能,這篇文章主要給大家介紹了關(guān)于SpringBoot項(xiàng)目中如何實(shí)現(xiàn)MySQL讀寫(xiě)分離的相關(guān)資料,需要的朋友可以參考下2022-07-07
Java直接內(nèi)存和堆內(nèi)存的關(guān)系
在Java編程中,內(nèi)存管理是一個(gè)重要的話題,本文介紹了Java中兩種主要內(nèi)存類型:堆內(nèi)存和直接內(nèi)存,堆內(nèi)存是JVM管理的主要內(nèi)存區(qū)域,感興趣的朋友跟隨小編一起看看吧2024-09-09
Spring?Boot自定義Starter組件開(kāi)發(fā)實(shí)現(xiàn)配置過(guò)程
SpringBoot中的starter是一種非常重要的機(jī)制,能夠拋棄以前繁雜的配置,將其統(tǒng)一集成進(jìn)?starter,應(yīng)用者只需要在maven中引入starter依賴,這篇文章主要介紹了Spring?Boot自定義Starter組件開(kāi)發(fā)實(shí)現(xiàn),需要的朋友可以參考下2022-06-06
一文帶你掌握J(rèn)ava8中Lambda表達(dá)式 函數(shù)式接口及方法構(gòu)造器數(shù)組的引用
Java 8 (又稱為 jdk 1.8) 是 Java 語(yǔ)言開(kāi)發(fā)的一個(gè)主要版本。 Oracle 公司于 2014 年 3 月 18 日發(fā)布 Java 8 ,它支持函數(shù)式編程,新的 JavaScript 引擎,新的日期 API,新的Stream API 等2021-10-10

