SpringBoot中application.yml配置文件的寫法
1、基本介紹
(1)YAML 是 JSON 的超集,簡潔而強大,是一種專門用來書寫配置文件的語言,可以替代 application.properties。
(2)在創(chuàng)建一個 SpringBoot 項目時,引入的 spring-boot-starter-web 依賴間接地引入了 snakeyaml 依賴, snakeyaml 會實現(xiàn)對 YAML 配置的解析。
(3)YAML 的使用非常簡單,利用縮進來表示層級關系,并且大小寫敏感。
2、YAML 配置與 Properties 配置的比較
properties 寫法
可以使用 @PropertySource 注解加載自定義的 Properties 配置文件,但無法加載自定義的 YAML 文件。YAML 支持列表的配置,而 Properties 不支持。
(2)以空格的縮進來控制層級關系;只要時左對齊的一列數(shù)據(jù),都是同一個層級的。
(3)屬性和值都是大小敏感
2.1、基本語法
- (1)key: value。冒號與value之間必須有一個空格。
- (2)大小寫敏感。
- (3)使用縮進表示層級關系。
- (4)縮進不允許使用tab,只能使用空格。
- (5)縮進的空格數(shù)不重要,只要相同層級的元素左對齊即可。
- (6)# 后面跟注釋內容
- (7)字符串無須加引號。"“會進行轉義。比如’\n’就輸出\n,但”\n"則會輸出換行。
3、值的寫法
1)字面量:單個的、不可再分的值。date、boolean、string、number、null
值可以不加雙引號或單引號,都默認表示字符串加雙引號:支持轉義字符
加單引號:不支持轉義字符
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
總結
以上為個人經(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配置文件示例詳解
相關文章
Java多線程編程中使用Condition類操作鎖的方法詳解
Condition是java.util.concurrent.locks包下的類,提供了對線程鎖的更精細的控制方法,下面我們就來看一下Java多線程編程中使用Condition類操作鎖的方法詳解2016-07-07Java多線程編程實戰(zhàn)之模擬大量數(shù)據(jù)同步
這篇文章主要介紹了Java多線程編程實戰(zhàn)之模擬大量數(shù)據(jù)同步,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-02-02Java解除文件占用即Dom4j操作后實現(xiàn)xml關流
這篇文章主要介紹了Java解除文件占用即Dom4j操作后實現(xiàn)xml關流,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-04-04Springboot使用jxls實現(xiàn)excel模板導出excel方式
這篇文章主要介紹了Springboot使用jxls實現(xiàn)excel模板導出excel方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-08-08淺談Java中OutOfMemoryError問題產(chǎn)生原因
本文主要介紹了淺談Java中OutOfMemoryError問題產(chǎn)生原因,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-06-06