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

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

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

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



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


集合對象


整合

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


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

編寫jdbc實體類及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);
}
}我們可以把多個環(huán)境的配置寫在一個文件里,可以使用符號
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é)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
- springboot的application.yml配置port不生效的解決方案
- SpringBoot配置application.yml時遇到的錯誤及解決
- Springboot?application.yml配置文件拆分方式
- 多個springboot項目如何使用一個外部共同的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)文章
idea?intellij快速修復(fù)if語句缺少大括號的問題
這篇文章主要介紹了idea?intellij快速修復(fù)if語句缺少大括號的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-04-04
Java多線程編程中使用Condition類操作鎖的方法詳解
Condition是java.util.concurrent.locks包下的類,提供了對線程鎖的更精細的控制方法,下面我們就來看一下Java多線程編程中使用Condition類操作鎖的方法詳解2016-07-07
Java多線程編程實戰(zhàn)之模擬大量數(shù)據(jù)同步
這篇文章主要介紹了Java多線程編程實戰(zhàn)之模擬大量數(shù)據(jù)同步,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-02-02
Java解除文件占用即Dom4j操作后實現(xiàn)xml關(guān)流
這篇文章主要介紹了Java解除文件占用即Dom4j操作后實現(xiàn)xml關(guān)流,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-04-04
Springboot使用jxls實現(xiàn)excel模板導(dǎo)出excel方式
這篇文章主要介紹了Springboot使用jxls實現(xiàn)excel模板導(dǎo)出excel方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-08-08
淺談Java中OutOfMemoryError問題產(chǎn)生原因
本文主要介紹了淺談Java中OutOfMemoryError問題產(chǎn)生原因,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-06-06

