SpringBoot中application.yml配置文件的寫法
1、基本介紹
(1)YAML 是 JSON 的超集,簡(jiǎn)潔而強(qiáng)大,是一種專門用來書寫配置文件的語(yǔ)言,可以替代 application.properties。
(2)在創(chuàng)建一個(gè) SpringBoot 項(xiàng)目時(shí),引入的 spring-boot-starter-web 依賴間接地引入了 snakeyaml 依賴, snakeyaml 會(huì)實(shí)現(xiàn)對(duì) YAML 配置的解析。
(3)YAML 的使用非常簡(jiǎn)單,利用縮進(jìn)來表示層級(jí)關(guān)系,并且大小寫敏感。
2、YAML 配置與 Properties 配置的比較
properties 寫法

可以使用 @PropertySource 注解加載自定義的 Properties 配置文件,但無法加載自定義的 YAML 文件。YAML 支持列表的配置,而 Properties 不支持。
(2)以空格的縮進(jìn)來控制層級(jí)關(guān)系;只要時(shí)左對(duì)齊的一列數(shù)據(jù),都是同一個(gè)層級(jí)的。
(3)屬性和值都是大小敏感
2.1、基本語(yǔ)法
- (1)key: value。冒號(hào)與value之間必須有一個(gè)空格。
- (2)大小寫敏感。
- (3)使用縮進(jìn)表示層級(jí)關(guān)系。
- (4)縮進(jìn)不允許使用tab,只能使用空格。
- (5)縮進(jìn)的空格數(shù)不重要,只要相同層級(jí)的元素左對(duì)齊即可。
- (6)# 后面跟注釋內(nèi)容
- (7)字符串無須加引號(hào)。"“會(huì)進(jìn)行轉(zhuǎn)義。比如’\n’就輸出\n,但”\n"則會(huì)輸出換行。
3、值的寫法
1)字面量:?jiǎn)蝹€(gè)的、不可再分的值。date、boolean、string、number、null

值可以不加雙引號(hào)或單引號(hào),都默認(rèn)表示字符串加雙引號(hào):支持轉(zhuǎn)義字符
加單引號(hào):不支持轉(zhuǎn)義字符

2)對(duì)象:鍵值對(duì)的集合。map、hash、set、object



3)數(shù)組:一組按次序排列的值。array、list、queue


集合對(duì)象


整合

4、取值
方法1、@value("{}")取值


方法2、@ConfigurationProperties
這種方法可以取出yml中的數(shù)組
yml中配置數(shù)據(jù)庫(kù)連接

編寫jdbc實(shí)體類及getter setter 方法

注入

取數(shù)組




方法3、Environment

5、多環(huán)境配置

我們還可以通過在代碼中指定使用哪種環(huán)境的配置
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
@SpringBootApplication
public class TestApplication {
public static void main(String[] args) {
SpringApplicationBuilder builder = new SpringApplicationBuilder(TestApplication.class);
builder.application().setAdditionalProfiles("dev");
builder.run(args);
}
}我們可以把多個(gè)環(huán)境的配置寫在一個(gè)文件里,可以使用符號(hào)
spring:
profiles:
# 使用開發(fā)環(huán)境的配置
active: dev
---
# 開發(fā)環(huán)境配置
server:
port: 8888
spring:
profiles: dev
---
# 生產(chǎn)環(huán)境配置
server:
port: 8888
spring:
profiles: prod總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- springboot的application.yml配置port不生效的解決方案
- SpringBoot配置application.yml時(shí)遇到的錯(cuò)誤及解決
- Springboot?application.yml配置文件拆分方式
- 多個(gè)springboot項(xiàng)目如何使用一個(gè)外部共同的application.yml
- SpringBoot中application.properties、application.yaml、application.yml區(qū)別
- Spring Boot 配置文件(application.yml、application-dev.yml、application-test.yml)
- SpringBoot+log4j2.xml使用application.yml屬性值問題
- springboot?log4j2.xml如何讀取application.yml中屬性值
- Spring Boot application.yml配置文件示例詳解
相關(guān)文章
WIndows服務(wù)器中使用nssm啟動(dòng)多個(gè)Springboot服務(wù)的方法
本文介紹在Windows服務(wù)器使用nssm安裝配置多個(gè)Springboot服務(wù)(如opmDev/Prd),支持啟動(dòng)、停止、卸載及狀態(tài)查看,便于通過任務(wù)管理器統(tǒng)一管理2025-07-07
Java適配器模式之如何靈活應(yīng)對(duì)不匹配的接口
本文介紹了Java中的適配器模式,包括對(duì)象適配器模式和接口適配器模式,適配器模式通過將一個(gè)類的接口轉(zhuǎn)換成客戶期望的另一個(gè)接口,解決了不同接口之間的不兼容問題,它提高了系統(tǒng)的靈活性、復(fù)用性和解耦性,需要的朋友可以參考下2024-10-10
關(guān)于Spring啟動(dòng)時(shí)Context加載源碼分析
這篇文章通過源碼分析主要給大家介紹了關(guān)于Spring啟動(dòng)時(shí)Context加載的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2018-01-01
SpringCloud-Nacos服務(wù)注冊(cè)與發(fā)現(xiàn)方式
這篇文章主要介紹了SpringCloud-Nacos服務(wù)注冊(cè)與發(fā)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-07-07

